File tree Expand file tree Collapse file tree 4 files changed +29
-2
lines changed
Expand file tree Collapse file tree 4 files changed +29
-2
lines changed Original file line number Diff line number Diff line change 3737 fail-fast : false
3838 matrix :
3939 include :
40+ - os : " 26.0"
41+ xcode : " 26.0.1"
42+ sim : " iPhone 16 Pro"
43+ parallel : NO # Stop random test job failures
44+ runs-on : macos-15
4045 - os : " 18.5"
4146 xcode : " 16.4"
4247 sim : " iPhone 16 Pro"
Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ class Core: NSObject, UIGestureRecognizerDelegate {
5252 }
5353 private( set) var statePublisher : CurrentValueSubject < FloatingPanelState , Never > = . init( . hidden)
5454
55- let panGestureRecognizer : FloatingPanelPanGestureRecognizer
55+ var panGestureRecognizer : FloatingPanelPanGestureRecognizer
5656 let panGestureDelegateRouter : FloatingPanelPanGestureRecognizer . DelegateRouter
5757 var isRemovalInteractionEnabled : Bool = false
5858
@@ -1261,7 +1261,7 @@ class Core: NSObject, UIGestureRecognizerDelegate {
12611261}
12621262
12631263/// A gesture recognizer that looks for panning (dragging) gestures in a panel.
1264- public final class FloatingPanelPanGestureRecognizer : UIPanGestureRecognizer {
1264+ public class FloatingPanelPanGestureRecognizer : UIPanGestureRecognizer {
12651265 /// The gesture starting location in the surface view which it is attached to.
12661266 fileprivate var initialLocation : CGPoint = . zero
12671267 private weak var floatingPanel : Core ! // Core has this gesture recognizer as non-optional
Original file line number Diff line number Diff line change @@ -45,11 +45,13 @@ public class SurfaceAppearance: NSObject {
4545 }
4646 } ( )
4747
48+ #if swift(>=6.2)
4849 @available ( iOS 26 . 0 , * )
4950 public var cornerConfiguration : UICornerConfiguration ? {
5051 get { _cornerConfiguration as? UICornerConfiguration }
5152 set { _cornerConfiguration = newValue }
5253 }
54+ #endif
5355
5456 private var _cornerConfiguration : Any ?
5557
@@ -384,11 +386,13 @@ public class SurfaceView: UIView {
384386 }
385387
386388 private func updateCornerRadius( ) {
389+ #if swift(>=6.2)
387390 if #available( iOS 26 . 0 , * ) , let cornerConfiguration = appearance. cornerConfiguration {
388391 containerView. cornerConfiguration = cornerConfiguration
389392 containerView. layer. masksToBounds = true
390393 return
391394 }
395+ #endif
392396 containerView. layer. cornerRadius = appearance. cornerRadius
393397 guard containerView. layer. cornerRadius != 0.0 else {
394398 containerView. layer. masksToBounds = false
Original file line number Diff line number Diff line change @@ -958,14 +958,30 @@ class CoreTests: XCTestCase {
958958 }
959959
960960 func test_initial_scroll_offset_reset( ) {
961+ class MockPanGestureRecognizer : FloatingPanelPanGestureRecognizer {
962+ var _view : UIView ?
963+ override var view : UIView ? {
964+ set { _view = newValue }
965+ get { _view }
966+ }
967+ var _state : UIGestureRecognizer . State = . possible
968+ override var state : UIGestureRecognizer . State {
969+ set { _state = newValue }
970+ get { _state }
971+ }
972+ }
961973 let fpc = FloatingPanelController ( )
974+ let mockGesture = MockPanGestureRecognizer ( )
975+ mockGesture. view = fpc. floatingPanel. surfaceView
976+ fpc. floatingPanel. panGestureRecognizer = mockGesture
962977 let scrollView = UIScrollView ( )
963978 fpc. layout = FloatingPanelBottomLayout ( )
964979 fpc. track ( scrollView: scrollView)
965980 fpc. showForTest ( )
966981
967982 fpc. move ( to: . full, animated: false )
968983
984+
969985 fpc. panGestureRecognizer. state = . began
970986 fpc. floatingPanel. handle ( panGesture: fpc. panGestureRecognizer)
971987
@@ -978,6 +994,8 @@ class CoreTests: XCTestCase {
978994
979995 scrollView. setContentOffset ( expect, animated: false )
980996
997+ XCTAssertEqual ( expect, scrollView. contentOffset)
998+
981999 fpc. move ( to: . half, animated: true )
9821000
9831001 waitRunLoop ( secs: 1.0 )
You can’t perform that action at this time.
0 commit comments