0

视图设置为“Retina 3.5 全屏”

底部是一个按钮,用于跟踪视图的底部(外部顶部、外部左侧和外部底部支柱设置)。

这段代码在 viewDidLoad

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    CGRect viewRect = [self.view bounds];
    CGFloat height = viewRect.size.height;
    NSLog(@"Screen is %g pixels high", height);
}

当我在 iPhone 3.5" 的模拟器中运行它时,我得到了 480 像素的高度,并且按钮保持在原来的位置。

当我在 4" 模拟器中运行它时,我希望看到更高的视图,并且按钮移动到与底部齐平。但事实并非如此。但视图明显扩大以填满模拟器的整个屏幕,尽管声称视图仍然只有 480 像素高的代码。

我可以检查什么?我宁愿不必编写代码来重新定位按钮...

4

2 回答 2

1

在 XCode 实用程序中的尺寸检查器选项卡中,您应该在“查看”部分下看到自动调整大小选项。
确保您的 UIView 配置为向所有方向扩展,在使用 Retina 4 屏幕时应该看到它的高度增加:

扩展 UIView

扩展 UIView

其次,自动调整大小选项允许您设置 UIView 锚定到哪一侧(灰色框外的红线)。通过将 UIButton 锚定到底部而不是顶部,它应该在调整大小期间保持与父视图底部的距离:

UIView 锚定到底部

UIView 锚定到底部

于 2013-03-03T08:44:53.103 回答
-2

iPhone 5 和之前型号的视图框架保持不变。

取而代之的是 UIScreen 边界改变

您可以通过以下方式检查 iPhone 5

if([UIScreen mainScreen] bounds].size.height == 480)
{
    // iPhone Classic
}
else
{
    // iPhone 5
}
于 2013-03-03T09:10:03.683 回答