我的看法似乎不调整高度,虽然它应该?
该视图设置为“视网膜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像素高。
我可以检查什么?我宁愿不必编写代码来重新定位按钮...
在XCode中的实用程序中的大小检查器选项卡中,您应该看到“视图”部分下的自动调整选项。
确保您的UIView被配置为使用视网膜4的屏幕时,全方位地扩大应该看到它的高度增加:
扩大的UIView
其次,自动调整大小的选项允许你设置UIView所在的哪一侧(灰色框外的红线)。通过锚定你的UIButton的底部,而不是顶部,就应该调整过程中保持从它的父底部的距离:
的UIView挂靠在底部
优秀!我完全忽略了按钮顶部的锚定。 – 2013-03-03 11:09:07
视图帧保持相同适用于iPhone 5和以前的型号。
代替UIScreen界限改变
您可以通过
if([UIScreen mainScreen] bounds].size.height == 480)
{
// iPhone Classic
}
else
{
// iPhone 5
}
这完全没有帮助。当然,你的视图尺寸在iPhone 5和iPhone 4上全屏显示时会有所不同。 – 2013-03-03 09:18:55
我有上述的经验..所以这是真的。如果你认为视图大小会有所不同,为什么'NSLog'输出,否则在问题...视图框架和边界保持不变。[iPhone的UIScreen mainScreen]边界改变5 – Shubhank 2013-03-03 09:26:09
如果你的屏幕尺寸更大,你的观点尺寸也会更大。这很简单。您是否认真地试图说服我,iPhone 5上的全屏视图高度为480点?祝你好运男人... – 2013-03-03 10:01:42
您是否尝试过在'-viewWillAppear检查视图边界检查iPhone 5:'? – 2013-03-03 09:16:57