gpt4 book ai didi

ios - 在 Storyboard 中向从 nib 加载的自定义类 UIViewController 添加 subview

转载 作者:行者123 更新时间:2023-11-29 12:45:17 25 4
gpt4 key购买 nike

澄清这个荒谬的标题:

我正在使用我自己的 JSQMessagesViewController 子类 ( https://github.com/jessesquires/JSQMessagesViewController ) - 我们称它为 ACMessagesViewController。我正在通过 Storyboard加载我的 ACMessagesViewController,方法是将 Storyboard UIViewController 的自定义类设置为 ACMessagesViewController。我正在尝试通过 Storyboard 将 subview 添加到 ACMessagesViewController 的 View 。

JSQMessagesViewController 从 nib 加载。当我通过 Storyboard 将 subview 添加到 ACMessagesViewController 的 View 时,该 View 消失了。 subview 似乎正在添加到我的 ACMessagesViewController 的 self.view 以外的 View ,并且当 viewdidload 范围运行时, subview 消失了。

我的问题是:1. 当 UIViewController 从 nib 加载时,将 subview (通过 Storyboard)添加到自定义类 UIViewController 的正确方法是什么?2. 在这个 View 加载过程中发生了什么?为什么我的 subview (通过 Storyboard 添加)添加到与我的 ACMessagesViewController 中的 self.view 不同的 View 中?

提前致谢!

最佳答案

我认为这是您在 iOS 开发中经常遇到的“如果您需要解决它,您可能做错了”的情况之一。 :-) 实际上,如果您想要 JSQMessagesViewController 提供的功能,则不需要添加额外的 View 。但是如果你必须添加 View ,那么“正确”的方法是在你调用 viewDidLoad 中的 super 之后将它们添加为任何 self.view 的 subview 。如果您不想以编程方式构建 View ,您可以将它们放在单独的 nib 中(而不是 Storyboard)并手动加载它们。

(注意:这是假设 viewDidLoad 被调用了。如果没有,您可能需要 Hook 其他方法。)

关于ios - 在 Storyboard 中向从 nib 加载的自定义类 UIViewController 添加 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23815008/

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