ios - ios-ios13防止下拉tableView滚动到顶部以消除工作表样式模态呈现的viewController

我不希望在tableView已经滚动到顶部时,在tableView单元格上下拉以导致tableViewController被关闭。

时间:

在用户开始在表视图上拖动时,在表视图控制器上将isModalInPresentation设置为true来禁用“pull-to-dismiss”行为,然后在用户停止拖动时将它重置为false,例如:


class YourTableViewController: UITableViewController {


 override func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {


 isModalInPresentation = true


 }



 override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {


 isModalInPresentation = false


 }


}



注意,你仍然能够稍微拉下表视图控制器,但是至少你将无法完全关闭它,并且由于在停止拖动时将值重新设置为false,因此你可以通过下拉导航栏来关闭。

此外,如果将UIRefreshControl添加到表格视图,则在下拉表格视图时,它会禁用“pull-to-dismiss”行为。

...