在iOS 13 Beta 1中,出现模态视图控制器时有新行为。现在默认情况下它不是全屏显示,当我尝试向下滑动时,该应用程序会自动关闭View Controller。
如何防止这种行为并回到旧的好全屏模式vc?
谢谢
TLDR:寻找一种解决方案,以在从导航栏向下拖动时启用交互式关闭,而不是从视图控制器的视图中拖动。
iOS 13 模态视图控制器允许通过以下几种方式禁用交互式关闭:
vc.modalPresentationStyle = .fullScreen(请参阅在 iOS 13 全屏显示模式)viewController.isModalInPresentation = true(请参阅禁用 iOS 13 中呈现的视图控制器的交互式关闭)UIAdaptivePresentationControllerDelegate委托方法(请参阅iOS13 中的 UINavigationBar 更改)如果您想要与 iOS 12 及更低版本相同的行为,第一个很棒。
第二个,非常适合防止交互式关闭,但仍然允许在从主视图控制器视图中拉动时向下拖动视图控制器(带有漂亮的动画)。
后者允许更好地处理事件,但无助于防止从视图控制器的视图中拖动。
我见过的最接近的事情是设置刷新控件以防止在下拉刷新期间被关闭。此 GIF 显示了我正在寻找的行为(来源):
这种下拉刷新交互可以在 iOS 日历应用程序的模式收件箱屏幕中看到。
我正在寻找的行为与上面的下拉刷新相同,但没有滚动视图和刷新控件。
基本上,对视图控制器视图的触摸不应触发交互式解除。
我尝试了以下方法,但没有运气:
view.isExclusiveTouch = trueview.isUserInteractionEnabled = false总之,我需要的是:
谢谢!