我在新的Xcode中启动了一个新项目,并且看到默认的主窗口设置为320x548。我很好,但是当我测试我的应用程序时,我在主xib中添加的视图(应该是280x280)在3.5in设备上进行测试时看起来更像是280x200。
我尝试过在xib中更改该视图的设置,但似乎没有任何影响。
如何确保背景兼容性,以便在较旧的设备中视图大小相同?
更新:
当我以编程方式添加视图时,一切正常,但是当我通过控制器中的插座添加视图时,所有视图都会被压缩。我试图强制(以编程方式)将视图设置为280x280,但随后它只会扭曲视图的内容。它只是想成为280x192 ...
我一定做错了,但我不知道怎么办。
最佳答案
如今,我遇到了同样的问题,幸运的是找到了解决方案。我创建了一个简单的应用程序,其中包含一个简单的按钮,我想将其大小设置为10px左右。
self.view.bounds返回xib的实际大小,如果它设置为例如iPhone4视网膜并且您在其他iPhone版本中对其进行测试,则它将返回错误的值。使用[[UIScreen mainScreen]范围];而是减去状态栏的高度([[UIApplication sharedApplication] statusBarFrame] .size.height)。
最终的内容如下所示:
CGRect frame = [[UIScreen mainScreen] bounds];
frame.origin.x = 10;
frame.origin.y = 10;
frame.size.width -= 20;
frame.size.height -= (20 + [[UIApplication sharedApplication] statusBarFrame].size.height);
button.frame = frame;
我在所有设备类型上都对其进行了测试,并且效果很好。
(显然,只有在取消选中“使用自动版式”时,它才有效)
希望这可以帮助。
关于ios - UIView适用于iPhone 4in,但被iPhone 3.5in压扁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12764531/