禁用表视图滚动

时间:2017-02-16 17:13:08

标签: ios uitableview uiscrollview

这是问题所在:

我在现有的tableview控制器E的顶部呈现一个popover tableview控制器P.

我遇到的问题是E仍然滚动。意思是如果你滚动到P的边界之外,E将滚动,P将表现为好像它是E的一部分。

如何在P出现时禁用滚动E?

1 个答案:

答案 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
}