C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – Xcode的自动布局仅在viewDidAppear中有效,这是非常有问题的大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
将我的项目升级到iOS 6后,我意识到自动布局仅在viewDidAppear中有效,并且我的代码大部分期望视图的框架在viewDidLoad中可用.这个限制使得真正好的汽车布局功能对我来说几乎没用.有没有什么建议来帮助我使用自动布局?

例如,有时开发人员需要根据自动布局选择放置该子视图的位置来调整子视图的信息.在用户已经看到子视图的最终位置之前,开发者无法确定.用户不应该看到这些信息调整,而是一次性显示最终结果.

更具体地说:如果我想根据自动布局放置该视图的位置在视图中更改图像怎么办?我无查询该位置,然后在用户看不到这种情况下更改图像.

解决方法

作为一般规则,viewDidLoad中不应该依赖视图框架/边界.

一旦视图以编程方式或通过.nib / .xib文件创建,viewDidLoad方法才会被调用.此时,视图尚未设置,只能加载到内存中.

您应该始终在viewWillAppear或viewDidAppear中执行视图布局,因为这些方法在视图准备进行演示之后被调用.

作为测试,如果您只是NSLog(@“frame:%@”,NSStringFromCGRect(self.view.framE));在viewDidLoad和viewWillAppear方法中,您将看到,只有后一种方法才能返回实际的视图大小,这些尺寸与包含在视图中的任何其他元素(如UINavigationBar和UITabBar)相关.

大佬总结

以上是大佬教程为你收集整理的objective-c – Xcode的自动布局仅在viewDidAppear中有效,这是非常有问题的全部内容,希望文章能够帮你解决objective-c – Xcode的自动布局仅在viewDidAppear中有效,这是非常有问题的所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。