Ios 帧大小属性返回零
我正在处理几个不同的视图,一个是图像视图,另一个是标签。我必须在代码中使用帧大小值(宽度和高度),但它们返回的值为零。当我查看故事板中的设置时,情况显然不是这样,但是当我将值记录到控制台时,它们是零。有人知道这可能是什么原因吗?您的插座未连接,或者您的视图尚未实例化,因为您处于视图生命周期的早期。在Ios 帧大小属性返回零,ios,objective-c,xcode,Ios,Objective C,Xcode,我正在处理几个不同的视图,一个是图像视图,另一个是标签。我必须在代码中使用帧大小值(宽度和高度),但它们返回的值为零。当我查看故事板中的设置时,情况显然不是这样,但是当我将值记录到控制台时,它们是零。有人知道这可能是什么原因吗?您的插座未连接,或者您的视图尚未实例化,因为您处于视图生命周期的早期。在viewdiload和viewdideappear中尝试日志语句并进行比较。帧和边界之间的区别在于帧是用superview的坐标表示的。因为你只需要大小,如果视图没有超视域,你不应该考虑它的框架,而不
viewdiload
和viewdideappear
中尝试日志语句并进行比较。帧和边界之间的区别在于帧是用superview的坐标表示的。因为你只需要大小,如果视图没有超视域,你不应该考虑它的框架,而不是边界:
@property(nonatomic) CGRect bounds;
参考:
最可能的解释是您的插座未连接。但是,请包含相关代码。是否使用自动布局?如果是这样的话,您可能在布局完成之前过早地检查了框架。每个可见视图(不是窗口)都有一个超级视图。我假设它不可见,这是因为它没有超级视图。这些视图位于xib中。他们有超视野。