【问题标题】:Multiple instances of the same UIView in UIScrollViewUIScrollView 中同一个 UIView 的多个实例
【发布时间】:2017-06-18 02:12:58
【问题描述】:

我使用this answer 实现了带有分页功能的UIScrollView

它作为一个开始很好用,但我希望能够为UIScrollView 中的每个页面,我想要一个相同UIView 的单独实例。

例如,假设我有ContentViewController,我想使用它的4 个实例UIView

UIScrollView 上的每个页面都有 1 个 - 我该怎么做?

我最初的想法是instantiateViewController(withIdentifier),然后重用它的.view' property inside thefor`循环,但这只给了我一次正确的视图,其他3个是空白子视图。

任何帮助将不胜感激。 谢谢!

【问题讨论】:

    标签: ios swift uiview uiviewcontroller uiscrollview


    【解决方案1】:

    您可以多次实例化 ViewController(在 for 循环中),然后获取每个控制器的视图并将其添加到滚动视图中。但您必须注意,现在您还有 4 个控制器,每个控制器用于一个视图。

    【讨论】:

    • 谢谢。有没有办法避免拥有多个控制器?
    • 这并不容易,因为控制器通常持有视图的出口(以及它的子视图)并对控件的事件做出反应。如果您想提供多个视图,您的控制器将不得不处理这个问题,例如必须知道哪个视图分别填充哪个数据。如何对此做出反应,例如在多个视图中的哪个按钮上按下按钮。但是如果你只有简单的视图(比如:只有 UIImageViews),你也可以在调用代码中创建它们,这样它们就可以在没有原始控制器的情况下工作。在这种情况下,您必须从“外部”提供数据。
    • 啊,是的,这很有道理。谢谢!它对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多