使模态控制器下的区域可滚动

Posted

技术标签:

【中文标题】使模态控制器下的区域可滚动【英文标题】:make zone under modal Controller scrollable 【发布时间】:2019-06-13 09:51:01 【问题描述】:

我正在寻找使模态呈现控制器下的控制器处于活动状态(可滚动)的解决方案,我有主滚动和警报(AlertController),它们呈现在主滚动上。出现警报时,主滚动条也应该处于活动状态。

func showOkAlert(with title: String = "AppName", and message: String, closure: (()->Void)? = nil)
    let alert = BagitAlertController(title: message, image: UIImage(named: "checked-large")!)
    alert.modalPresentationStyle = .overCurrentContext
    self.present(alert, animated: true, completion: nil)

如果使用控制器无法做到这一点,我会将其设置为 addSubview()

【问题讨论】:

【参考方案1】:

当视图控制器以模态方式呈现时,用户交互不适用于后面的主视图控制器。为了使主视图控制器的用户交互成为可能,然后将视图添加为子视图。同样,子视图上的交互不会被主视图控制器(在后面)识别。

如果您希望该用户能够与主后视图控制器进行交互,您必须对模态呈现的视图控制器进行子类化并将触摸事件传递给超级视图,该超级视图将成为后面的主视图控制器。

希望这会有所帮助。

【讨论】:

以上是关于使模态控制器下的区域可滚动的主要内容,如果未能解决你的问题,请参考以下文章

PyQt 4:使标签可滚动

使用集合视图使视图控制器可滚动

如何使视图控制器可滚动?

当视图控制器以模态方式呈现时,用户可以滚动

如何使用 Objective-C 以编程方式使我的 UIView 可水平滚动?

使 splitViewController 的细节部分可滚动?