我在故事板中有一个自定义单元格。我在故事板中为包含其viewController
的{{1}}设置了iPhone 4.7英寸。
由于我想在此单元格内的tableView
中布置一些UIImageViews
,我需要知道单元格的宽度。我试图将此宽度放在scrollView
内,如下所示:
layoutSubviews
它被多次调用,当我在iPhone 5上运行时,前两次不正确(它是故事板上的375,之后它是320的,这是正确的尺寸)
无论如何,我如何获得单元格的实际宽度?
提前致谢。
答案 0 :(得分:0)
自动布局已停用?
如果单元格不支持自动布局, -(void)layoutSubviews
将正常工作并提供您预期的高度和宽度。
启用自动布局?
在约束更新传递期间重写此选项以调整特殊约束
- (void)updateConstraints
{
[super updateConstraints];
CGFloat cellWidth = CGRectGetWidth(self.bounds);
NSLog(@"cellWidth %f", cellWidth);
}
希望这会奏效!
答案 1 :(得分:0)
最终,事实是UIKit可以多次拨打self.bound.size
。你只需假设每次都是最后一次,并采取措施避免重复工作。例如。从前一次调用中缓存private BroadcastReceiver mReceiver;
,只有在更改后才会继续。
或者您可以在滚动视图和图像视图上设置约束,而不必担心手动布局。