[英]Trouble with size classes in Xcode 6
我在使用大小类遇到一个非常奇怪的问题:
在任何x的大小类中,我都有一个UITableViewController
,其中包含一个约束宽度为150且约束高度为150的UIView
。
在尺寸类Regular x Regular中,我“卸载”了这些约束,并添加了另一个约束宽度和高度,大小为250。
当我在iPad上启动我的应用程序时,我可以看到此UIView
的“正确”大小,但是在我的代码中,在ViewDidLoad
和ViewWillAppear
,此视图的大小仍为“ 150”。 (我想获得一些视图的大小。)仅在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
并将其到达那里。
所以我认为您对尺寸等级有些困惑。 我有点困惑。
当您选择将大小类查看为RegularxRegular时,您只是在查看该模式下的样子。 您在此处所做的任何更改都不会覆盖anyxany模式。
而且您可能不应在视图上限制宽度和高度。 尝试使用与其他视图相关的约束来使UIView看起来像在屏幕上一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.