gpt4 book ai didi

iphone - 将 View Controller 添加到 View 层次结构的正确方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 03:44:25 25 4
gpt4 key购买 nike

我有一个 View Controller (A),它加载一个 View Controller (B) 并在我的 View 层次结构中使用它的 View 。如果我将 B 的 View 添加到 A 的 View 层次结构中,并且我不手动转发像 viewWillAppear 这样的事件,我将无法在 B Controller 中处理它们。 (来自 viewWillAppear:文档)

Warning: If the view belonging to a view controller is added to a view hierarchy directly, the view controller will not receive this message. If you insert or add a view to the view hierarchy, and it has a view controller, you should send the associated view controller this message directly. Failing to send the view controller this message will prevent any associated animation from being displayed.

嵌套 View Controller 的正确方法是什么? (就像 NavBarController 那样。)如果只是需要将一组事件转发到嵌套 Controller 的问题,那么我需要转发的所有事件是什么?

最佳答案

这里没有神奇的解决方案。正确的解决方案是手动发送这些消息。

viewWillAppear:/viewDidAppear: 和 viewWillDisappear:/viewDidDisappear: 消息是唯一需要手动发送到 subview Controller 的消息。

您应该在父 View Controller 中实现所有这四个方法,并在父 View Controller 收到消息并且加载 subview Controller 时向 subview Controller 发送相同的消息。

此外,当您添加 subview Controller 的 View 时,如果父 View 的 view.window 不为零,您应该发送 viewWillAppear:/viewDidAppear: 消息。删除 View 时,如果父级的 view.window 不为零,则应发送 viewWillDisappear:/viewDidDisappear: 消息。

关于iphone - 将 View Controller 添加到 View 层次结构的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1514098/

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