禁用表格视图滚动

Posted

技术标签:

【中文标题】禁用表格视图滚动【英文标题】:Disable Table View Scrolling 【发布时间】:2017-02-16 17:13:07 【问题描述】:

问题来了:

我在现有的 tableview 控制器 E 之上展示了一个 popover tableview 控制器 P。

我遇到的问题是 E 仍然滚动。这意味着如果您滚动到 P 的范围之外,E 将滚动并且 P 将表现得好像它是 E 的一部分。

如何在显示 P 时禁用 E 滚动?

【问题讨论】:

【参考方案1】:

当你呈现 P 时,设置:

yourTableView.isScrollEnabled = false

当你关闭你的弹出框时:

yourTableView.isScrollEnabled = true

注意:当您关闭弹出框时,您可能希望使用协议再次启用滚动。

为此,我会在您的弹出视图控制器中添加:

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

【讨论】:

以上是关于禁用表格视图滚动的主要内容,如果未能解决你的问题,请参考以下文章