From 8d66e404534bd38fa3448132e655222186e7d60e Mon Sep 17 00:00:00 2001 From: Guille Gonzalez Date: Thu, 21 Jan 2021 09:40:59 +0100 Subject: [PATCH] Take into account safe area insets --- Sources/AttributedText/AttributedText.swift | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Sources/AttributedText/AttributedText.swift b/Sources/AttributedText/AttributedText.swift index ee97957..13472a8 100644 --- a/Sources/AttributedText/AttributedText.swift +++ b/Sources/AttributedText/AttributedText.swift @@ -13,9 +13,9 @@ } public var body: some View { - GeometryReader { proxy in + GeometryReader { geometry in TextViewWrapper(attributedText: attributedText, store: store) - .preference(key: ContainerSizePreference.self, value: proxy.size) + .preference(key: ContainerSizePreference.self, value: geometry.maxSize) } .onPreferenceChange(ContainerSizePreference.self) { value in store.onContainerSizeChange(value) @@ -28,6 +28,16 @@ } } + @available(macOS 11.0, iOS 14.0, tvOS 14.0, *) + private extension GeometryProxy { + var maxSize: CGSize { + CGSize( + width: size.width - safeAreaInsets.leading - safeAreaInsets.trailing, + height: size.height - safeAreaInsets.top - safeAreaInsets.bottom + ) + } + } + @available(macOS 11.0, iOS 14.0, tvOS 14.0, *) private struct ContainerSizePreference: PreferenceKey { static var defaultValue: CGSize?