这是问题所在:
我在现有的tableview控制器E的顶部呈现一个popover tableview控制器P.
我遇到的问题是E仍然滚动。意思是如果你滚动到P的边界之外,E将滚动,P将表现为好像它是E的一部分。
如何在P出现时禁用滚动E?
答案 0 :(得分:3)
当你出现P时,设置:
yourTableView.isScrollEnabled = false
当你关闭你的popover时:
yourTableView.isScrollEnabled = true
注意:当您关闭popover时,可能需要使用协议再次启用滚动。
为此,我会添加你的popover View Controller:
protocol ProtocolPopOver{
func enableScrollAgain();
}
然后,在该视图控制器中:
var delegatePopOver:ProtoclPopOver?
当你关闭viewController时:
self.dismiss(animated: true, completion: { delegatePopOver.enableScrollAgain() })
在主视图控制器中,当您显示弹出窗口时,请添加:
popoverViewController.delegatePopOver = self
在UIViewController附近实现协议:
class yourclass: UIViewController, ProtocolPopOver{...
并添加功能:
func enableScrollAgain(){
yourTableView.isScrollEnable = true
}