gpt4 book ai didi

ios - UINavigationController 中的 UIScrollView 中的 UIViewController 想要推送一个新的 Controller

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:13:17 25 4
gpt4 key购买 nike

我的一个应用程序现在遇到了一个愚蠢的 UI 问题。

我从 UINavigationController 开始,它是我 Storyboard中的初始 View Controller 。 Root View Controller 是一个 UIViewController,它是一个 UIScrollView 作为 subview 。 UIScrollView 本身启用了分页并包含多个 UIViewController。

现在我的问题是:UIScrollView 中的 UIViewController(我们称它们为 View #1)应该对按钮事件使用react,并转至另一个 UIViewController(View #2),它需要从之前的 UIViewController 和需要通过委托(delegate)方法发回数据。

当我尝试获取 UINavigationController 并将 View #2 推到其上时,没有任何反应。通过 presentViewController 显示它当然有效。

Diagramm

你能帮我一下吗,告诉我这行不通,什么时候不行,为什么?我有点卡在这一点上,我不知道如何继续。

最佳答案

不要将 UIViewControllers 放入另一个违反苹果开发指南的 UIViewController(至少在 iOs5 之前)..UIViewControllers 生命周期是在内部管理的,如果您直接将 UIViewController 添加为 subview ,则有很多方法,例如

viewDidLoad
viewWillAppear
viewDidAppear
...

不会被调用,根据我的经验会导致非常不稳定的行为

尝试使用自定义 UIView 对象来获取每个 View 的内部逻辑同意这在某种程度上打破了 MVC 模式,但这将是解决您的问题的最佳方式

但 iOS 5.0 添加了容器 UIViewControllers,它通过添加 subview Controller 来正确处理这些生命周期事件。因此,如果您只针对 post iOs 5 设备,这可能是解决此问题的好方法

看看thisthis

关于ios - UINavigationController 中的 UIScrollView 中的 UIViewController 想要推送一个新的 Controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12950530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com