-1

我在处理 iPhone 4 和 iPhone 5 的视图时遇到了布局问题。我不明白自动布局的目的,因为它从未根据屏幕尺寸调整框架。我尝试过使用自由格式,但没有奏效。

此代码非常适合 iPhone 4,但对于 iPhone 5,我是否必须使用 UIScreen 大小调整代码中的框架?

我会要求您建议自动布局功能,因为这应该可以工作。

4

2 回答 2

3
  • 通过为启动屏幕创建适当的图像 (Default-568h@2x.png 640x1136),告诉 iOS 您的应用程序已准备好 iPhone 5。
  • 使用自动布局。

您的 xib 将自动反映设备屏幕大小。

于 2013-08-16T13:51:41.833 回答
1

在 viewDidLoad

CGSize screenSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - STATUS_BAR_HEIGHT);

if(!CGSizeEqualToSize(screenSize, self.view.bounds.size)) {

    NSLog(@"iPhone 5");
    [self updateLayouts];
}

这是定义

-(void) updateLayouts {

    float screenWidth = [UIScreen mainScreen].bounds.size.width;
    float screenHeight = [UIScreen mainScreen].bounds.size.height - STATUS_BAR_HEIGHT;

    self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, screenWidth, screenHeight);
}

它确实调整了他们的子视图。它按预期工作。但我还没有设法用 autoLayout 处理它。

于 2013-08-17T04:47:38.110 回答