ios - Xcode 6 中的大小类问题

标签 ios objective-c xcode size-classes

我在大小分类方面遇到了一个非常奇怪的问题:

  • 在大小类 any x any 中,我有一个 UITableViewController,其中包含一个约束宽度为 150 且约束高度为 150 的 UIView

  • 在大小类 Regular x Regular 中,我“卸载”了这些约束,并添加了另一个约束宽度和高度,大小为 250。

当我在 iPad 上启动我的应用程序时,我可以看到此 UIView 的“正确”大小,但在我的代码中,在 ViewDidLoadViewWillAppear 中,这个 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);
}

最佳答案

viewDidLoadviewWillAppear 不是查找特定框架尺寸的正确位置。框架将在自动布局完成后设置。

您可以覆盖 viewDidLayoutSubviews 并将其放在那里。

关于ios - Xcode 6 中的大小类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27389362/

相关文章:

iphone - 如何确定无效的 CFSocket

ios - swift :让相机跟随玩家跳跃

ios - 如何将特定按钮识别为发件人

objective-c - MWPhotoBrowser 的 IOS 8 中缺少方法声明的上下文

ios - 在文本字段中输入时更新/运行代码 [Swift/iOS]

iphone - 谁能指出我可以遵循的指示以学习如何在Xcode中处理音频

javascript - React-Native 应用程序在 iOS 上挂起,但在 Android 上运行正常

ios - 从 Xcode 项目中删除警告

objective-c - 查找/枚举 CGImage 中的所有非白色像素?

ios - 从 NavigationController 后退按钮返回多个 ViewController