Ios Xcode 6中的大小类有问题
我遇到了一个关于尺寸等级的非常奇怪的问题:Ios Xcode 6中的大小类有问题,ios,objective-c,xcode,size-classes,Ios,Objective C,Xcode,Size Classes,我遇到了一个关于尺寸等级的非常奇怪的问题: 在size类any x any中,我有一个UITableViewController,它包含一个UIView,约束宽度为150,约束高度为150 在size类Regular x Regular中,我“卸载”了这些约束,并添加了另一个约束width&height,大小为250 当我在iPad上启动我的应用程序时,我可以看到此UIView的“正确”大小,但在我的代码中,在viewdiload和视图中,此视图的大小仍然是“150”。(我只想获取视图的大小
- 在size类any x any中,我有一个
,它包含一个UITableViewController
,约束宽度为150,约束高度为150UIView
- 在size类Regular x Regular中,我“卸载”了这些约束,并添加了另一个约束width&height,大小为250
UIView
的“正确”大小,但在我的代码中,在viewdiload
和视图中,此视图的大小仍然是“150”。(我只想获取视图的大小)只有在函数viewdide中出现了我才有正确的大小,但我不明白为什么
有什么想法吗
示例代码:
- (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);
}
所以我想你对尺码等级有点困惑。这和我的困惑是一样的
当您选择按RegularxRegular查看size类时,您只是在查看该模式下的外观。您在那里所做的任何更改都不会覆盖anyxany模式
您可能不应该在视图上约束宽度和高度。尝试使用与其他视图相关的约束,以使UIView在屏幕上看起来像它应该的样子。viewDidLoad
和viewwillbeen
不是查找特定框架尺寸的正确位置。框架将在自动布局完成后设置
您可以覆盖viewDidLayoutSubviews,并将其放到那里。是的,我知道。但我为尺寸等级常规x常规添加了特定的约束。。。我不明白为什么我在iPad上看到这个视图的“正确”大小,但在我的代码中,我有AnyxANy大小的类:/RegularxRegular不会覆盖AnyxANy是什么意思……这不是重点吗?嗯,好的,但是我不明白为什么我在ViewDidLoad中的Any x Any size类中有我的视图的大小,而不是在常规x Regular中有我的视图的大小。。。而在我的ipad屏幕上,它是正确的…而且它不工作。。。在viewDidLayoutSubviews中,我再次使用了150 x 150而不是300 x 300。。。。看起来我只有在ViewDidExample中才有正确的大小,我不明白会发生什么…你能为你的视图控制器发布代码吗?你可能有一些打字错误。它必须在ViewDidLayoutSubViews中工作我只设置了一个日志:NSLog(“大小:%f-%f”,self.myView.frame.size.width,self.myView.bounds.size.width”);我看到的是“150”而不是“250”:/post-edited:),所以我尝试放置“[self-loadImg];“在viewdidlayout等中;在上一个日志中,没有任何功能…只有在ViewDidDisplay中。我遇到了相同的问题,在方法setNeedsDisplay中使用自定义UIImageView,我正在更改拐角半径,但为此我需要帧的宽度。我得到了错误的大小。我在Interface Builder中使用了大小类,BTWY您可以看到m'y last t关于这一点,有一个“解决方案”(确实不是最好的,但它是有效的)