gpt4 book ai didi

ios - 在 IB 中创建的 UIView 在 vi​​ewDidLoad 和 awakeFromNib 中没有框架

转载 作者:可可西里 更新时间:2023-11-01 04:42:16 25 4
gpt4 key购买 nike

如果我在这里遗漏了什么,我很抱歉,但我认为在 IB 中创建的 UIView 对象应该在 viewDidLoad 中创建它们的框架,这样您就可以在 viewDidLoad 或 awakeFromNib 或 viewWillAppear 中基于此 View 进行初始设置。我记录了每种方法的输出:

NSLog(@"%@ %s", NSStringFromCGRect(self.zoomView.frame), __FUNCTION__);

我总共得到 {0, 0, 0, 0}。

这是我的 UIStoryboard 中的第一个 nib,我使用的是 Autolayout 和 iOS 6。我可以发誓以前的应用程序我已经使用了在 IB 中创建的其他 UIView 对象的框架来进行设置。有什么改变了吗?还是我记错了?谢谢!

最佳答案

我遇到了完全相同的问题。是的,你没记错 - 在 iOS 5 中它曾经是不同的。我总是在 viewDidLoad: 中设置我的 View ,当 View 实际出现在屏幕上时,框架已经是它应该的样子.

现在在 iOS 6 中,如果 auto layout,您需要将代码放入 viewDidAppear: 才能使用有效的框架。已启用。显然布局是在这两个调用之间完成的。

关于ios - 在 IB 中创建的 UIView 在 vi​​ewDidLoad 和 awakeFromNib 中没有框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943590/

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