在iOS 13中使用新的默认卡模式演示文稿时,有一个不错的功能可以滑动以关闭。展示经典的.fullscreen
模式时是否可以使用此功能?
我检查了全屏显示时isModalInPresentation
是否为假。
有什么想法吗?
答案 0 :(得分:2)
如今年的wwdc中所述,似乎只有在模态显示为表格的情况下,滑动才能退出,才能使用
现在,你们所有人都需要做什么才能支持“撤消”?一般来说,什么都没有。如果您以表格形式展示某些东西,则可以免费将其拉下。
这很有意义。当您将其显示为表格时,UI使其看起来像您可以向下滑动模式。当您以全屏显示时,对于用户来说,应该向下滑动页面以将其关闭是不直观的。在这种情况下,我宁愿使用按钮。
答案 1 :(得分:1)
正如@pepsy所说,不应通过滑动来消除全屏视图。但是,如果您仍然想尝试一下,这就是我开始的事情
注意:拖动时父控制器不可见有点毛病。
我在视图中添加了UIPanGestureRecognizer,以模拟滑动以消除行为。我还有一个“关闭(X)”按钮,因为滑动手势不像工作表那样直观。
@IBAction func panGestureRecognizerHandler(_ sender: UIPanGestureRecognizer) {
let translationY = sender.translation(in: sender.view!).y
switch sender.state {
case .began:
break
case .changed:
view.transform = CGAffineTransform(translationX: 0, y: translationY)
case .ended, .cancelled:
if translationY > 160 {
dismiss(animated: true, completion: nil)
} else {
UIView.animate(withDuration: 0.2, animations: {
self.view.transform = CGAffineTransform(translationX: 0, y: 0)
})
}
case .failed, .possible:
break
@unknown default:
break
}
}