【发布时间】:2015-06-11 10:51:49
【问题描述】:
我在我的项目中使用故事板。 Storyboard 有一个带有自动布局的自定义视图。
CustomView.h
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
NSLog (@"view: %f", self.frame.size.width); //Returns wrong
NSLog (@"view: %f", self.bounds.size.width); //Returns wrong
}
return self;
}
如果我运行应用程序,它会显示错误的帧。
帮我解决这个问题
【问题讨论】:
-
“错误”是什么意思?你期待什么,你得到了什么?
-
@justMartin,如果我在 iPhone6 中运行,那么它应该返回 375 而不是 320。
-
与什么相比错了?您的意思是您的视图在 Interface Builder 和实际设备/模拟器上看起来不同吗?
-
@NKorotkov,如果我在 iPhone6 中运行,那么它应该返回 375 而不是 320
-
鉴于视图的框架依赖于它是其子视图的视图以及整个视图层次结构中的约束设置,获取框架大小的唯一安全位置是从
viewWillAppear或更高版本,一旦完整布局已经发生。
标签: ios iphone xcode autolayout uistoryboard