我在大小分类方面遇到了一个非常奇怪的问题:
在大小类 any x any 中,我有一个
UITableViewController
,其中包含一个约束宽度为 150 且约束高度为 150 的UIView
。在大小类 Regular x Regular 中,我“卸载”了这些约束,并添加了另一个约束宽度和高度,大小为 250。
当我在 iPad 上启动我的应用程序时,我可以看到此 UIView
的“正确”大小,但在我的代码中,在 ViewDidLoad
和 ViewWillAppear 中
,这个 View 的大小还是“150”。 (我想为一些事情获取 View 的大小。)只有在函数 ViewDidAppear
中我有正确的大小,但我不明白为什么。
有什么想法吗?
示例代码:
- (void)viewDidLoad {
[super viewDidLoad];
[self loadImg];
[self loadText];
self.navigationItem.hidesBackButton = YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void) loadText {
//
}
- (void) loadImg {
self.myView.layer.cornerRadius = self.myView.frame.size.width / 2;
self.myView.clipsToBounds = YES;
UIView *svg = [Utils defineImg:self.myView :@"myImage" :50];
[self.myView addSubview: svg];
svg.center = CGPointMake(self.myView.frame.size.width / 2, self.myView.frame.size.height / 2);
}
最佳答案
viewDidLoad
和 viewWillAppear
不是查找特定框架尺寸的正确位置。框架将在自动布局完成后设置。
您可以覆盖 viewDidLayoutSubviews
并将其放在那里。
关于ios - Xcode 6 中的大小类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27389362/