iOS无法同时满足loadView中的约束



我得到无法同时满足约束的错误。

当视图控制器使用viewDidLoad建立自己时,我没有得到错误,但当使用loadView时,它确实得到了错误。。。为什么会发生这种情况?

我认为loadView和viewDidLoad之间的唯一区别是viewDidLoad发生在loadView之后。至少,这似乎是一个持续的解释。。。

我不知道我的答案是否能完全解决您的问题,但它可能是解决您问题的起点。

在使用loadView:之前,需要注意以下几点(您可能知道)

  1. loadView是在加载视图时调用的方法,viewDidLoad则是在视图已加载。

  2. loadView当您愿意用程序创建视图而不是在xib文件中设置时,建议使用其他方式使用或调用loadView没有意义(这完全取决于您的不过应用程序要求)。

  3. 如果您从故事中初始化视图,请不要调用superloadView板或xib文件。

  4. 如果你在故事板上初始化你的观点,不要打电话[super loadView],并且您必须将rootView分配给self.view属性,如果在方法内部调用[super loadView],则最好不要重写此方法并将代码放入viewDidLoad方法中。。

  5. 如果您使用xib文件来设置视图,请修改在viewDidLoad中设置的对象,不要调用loadView;如果您是用程序创建视图,请在loadView初始化视图,并在>viewDidLoad进行附加设置。

约束错误通常会在故事板或xib文件中弹出,当选择"使用自动布局"时,如果取消选择,错误就会消失,因为您是在loadView中用程序创建视图的,您有责任确保自动布局选项被禁用,即您需要通过将其设置为"否"来使用setTranslatesAutoresizingMaskIntoConstraints属性。

你也可以在这里和那里参考一些相关的问题,这些问题很可能会让你摆脱这个问题。

感谢并愉快地编码:)

相关内容

  • 没有找到相关文章

最新更新