Skip to content

Commit ca05f58

Browse files
committed
Fixed bugs.
1 parent be299dd commit ca05f58

File tree

4 files changed

+18
-14
lines changed

4 files changed

+18
-14
lines changed

Sources/SwiftUIExtension/Compability/ViewCompability.swift

+3-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ extension View {
4646
if #available(iOS 17.0, watchOS 10.0, macOS 14.0, *) {
4747
return self.scrollClipDisabled(disabled)
4848
} else {
49-
return self
49+
return self.introspect(.scrollView, on: .iOS(.v15, .v16)) { scrollView in
50+
scrollView.clipsToBounds = false
51+
}
5052
}
5153
}
5254

Sources/SwiftUIExtension/LayoutGuides/LayoutGuides.swift

+10-10
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ public enum LayoutPadding {
2424

2525
internal struct FitGuide: ViewModifier {
2626

27-
@State var layoutMargins: EdgeInsets = .init()
28-
@State var readableMargins: EdgeInsets = .init()
27+
@State var layoutMargins: EdgeInsets? = nil
28+
@State var readableMargins: EdgeInsets? = nil
2929

3030
private let guide: LayoutGuide
3131
private let padding: LayoutPadding
@@ -50,8 +50,8 @@ internal struct FitGuide: ViewModifier {
5050
}
5151
)
5252
)
53-
.contentMargins(.leading, layoutMargins.leading, for: .scrollContent)
54-
.contentMargins(.trailing, layoutMargins.trailing, for: .scrollContent)
53+
.contentMargins(.leading, layoutMargins?.leading, for: .scrollContent)
54+
.contentMargins(.trailing, layoutMargins?.trailing, for: .scrollContent)
5555
} else {
5656
content
5757
}
@@ -64,8 +64,8 @@ internal struct FitGuide: ViewModifier {
6464
}
6565
)
6666
)
67-
.padding(.leading, layoutMargins.leading)
68-
.padding(.trailing, layoutMargins.trailing)
67+
.padding(.leading, layoutMargins?.leading)
68+
.padding(.trailing, layoutMargins?.trailing)
6969
}
7070

7171
case .readableMargins:
@@ -81,8 +81,8 @@ internal struct FitGuide: ViewModifier {
8181
}
8282
)
8383
)
84-
.contentMargins(.leading, readableMargins.leading, for: .scrollContent)
85-
.contentMargins(.trailing, readableMargins.trailing, for: .scrollContent)
84+
.contentMargins(.leading, readableMargins?.leading, for: .scrollContent)
85+
.contentMargins(.trailing, readableMargins?.trailing, for: .scrollContent)
8686
} else {
8787
content
8888
}
@@ -95,8 +95,8 @@ internal struct FitGuide: ViewModifier {
9595
}
9696
)
9797
)
98-
.padding(.leading, readableMargins.leading)
99-
.padding(.trailing, readableMargins.trailing)
98+
.padding(.leading, readableMargins?.leading)
99+
.padding(.trailing, readableMargins?.trailing)
100100
}
101101
}
102102
}

Sources/SwiftUIExtension/LayoutGuides/LayoutGuidesObserverView.swift

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#if os(iOS) || os(tvOS)
22
import SwiftUI
3+
import SwiftBoost
34

45
internal struct LayoutGuidesObserverView: UIViewRepresentable {
56

@@ -31,8 +32,8 @@ internal struct LayoutGuidesObserverView: UIViewRepresentable {
3132
var layoutMarginsDidChanged: ((EdgeInsets) -> Void)? = nil
3233
var readableMarginsDidChanged: ((EdgeInsets) -> Void)? = nil
3334

34-
var cachedLayoutMargins: EdgeInsets? = nil
35-
var cachedReadableMargins: EdgeInsets? = nil
35+
var cachedLayoutMargins: EdgeInsets? = EdgeInsets()
36+
var cachedReadableMargins: EdgeInsets? = EdgeInsets()
3637

3738
override func layoutMarginsDidChange() {
3839
super.layoutMarginsDidChange()
@@ -45,7 +46,7 @@ internal struct LayoutGuidesObserverView: UIViewRepresentable {
4546
}
4647

4748
private func update() {
48-
guard let viewController = self.viewController else{ return }
49+
guard let viewController = self.viewController else { return }
4950
let safeAreaInsets = viewController.view.safeAreaInsets.edgeInsets
5051

5152
let layout = viewController.view.layoutMargins.edgeInsets

Sources/SwiftUIExtension/Views/Mimicrate/ModalSheet/ModalSheetModifier.swift

+1
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ struct ModalSheetModifier<ModalContent: View, Selection: Hashable>: ViewModifier
101101
.animation(.default, value: selection)
102102
.onChange(of: isPresented) { isPresented in
103103
if !isPresented {
104+
dragOffset = .zero
104105
delay(presentDimissDuration) {
105106
self.onDismiss?()
106107
}

0 commit comments

Comments
 (0)