2013-03-03 102 views
0

该视图设置为“视网膜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像素高。

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

+0

您是否尝试过在'-viewWillAppear检查视图边界检查iPhone 5:'? – 2013-03-03 09:16:57

回答

1

在XCode中的实用程序中的大小检查器选项卡中,您应该看到“视图”部分下的自动调整选项。
确保您的UIView被配置为使用视网膜4的屏幕时,全方位地扩大应该看到它的高度增加:

扩大的UIView

Expanding UIView

其次,自动调整大小的选项允许你设置UIView所在的哪一侧(灰色框外的红线)。通过锚定你的UIButton的底部,而不是顶部,就应该调整过程中保持从它的父底部的距离:

的UIView挂靠在底部

UIView anchored to bottom

+0

优秀!我完全忽略了按钮顶部的锚定。 – 2013-03-03 11:09:07

-2

视图帧保持相同适用于iPhone 5和以前的型号。

代替UIScreen界限改变

您可以通过

if([UIScreen mainScreen] bounds].size.height == 480) 
{ 
    // iPhone Classic 
} 
else 
{ 
    // iPhone 5 
} 
+0

这完全没有帮助。当然,你的视图尺寸在iPhone 5和iPhone 4上全屏显示时会有所不同。 – 2013-03-03 09:18:55

+0

我有上述的经验..所以这是真的。如果你认为视图大小会有所不同,为什么'NSLog'输出,否则在问题...视图框架和边界保持不变。[iPhone的UIScreen mainScreen]边界改变5 – Shubhank 2013-03-03 09:26:09

+0

如果你的屏幕尺寸更大,你的观点尺寸也会更大。这很简单。您是否认真地试图说服我,iPhone 5上的全屏视图高度为480点?祝你好运男人... – 2013-03-03 10:01:42

相关问题