我已经远离iOS开发了一段时间,而且我在路障。
我的一个应用程序有一个UIImageView图形,然后我有覆盖视觉效果的按钮。除了autolayout之外,我能够使一切正常。
如果我将笔尖设置为3.5并在3.5模式下运行模拟器,一切都很好。如果我在4.0模式下运行它,按钮全部移动。这也适用于此。
我不确定如何绕过移动的按钮。有没有办法或者应该有2个笔尖?
答案 0 :(得分:2)
如果您没有使用IB,那么您将获得基于该视图和布局的大小。
我通常使用一个值作为verticalOffset(NSInteger),并使用不同倍数值的基础Y值,具体取决于接口元素。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) { // iPhone 5
verticalOffset = 20;
} else {
verticalOffset = 0;
}
如果将来Apple推出一款高度为768像素的iPhone 5.5(我开玩笑吧!哈哈!)
您只需添加一个新的verticalOffset值,视图就会立即填充新的大小。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 768) { // iPhone 5.5
verticalOffset = 30;
} else if (screenBounds.size.height == 568) { // iPhone 5
verticalOffset = 20;
} else {
verticalOffset = 0;
}
IB / iPhone的简单方法如果你想支持旧的iOS版本,请关闭autolayout
关闭最高值的自动调整大小。
在iPhone 5中为iPhone 5布局视图,当您使用iPhone 3.5时,所有界面元素将挤入3.5英寸大小(确保在较高的大小时放置足够的空白)< / p>
答案 1 :(得分:0)
您可以按照这个良好的自动布局教程:http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
答案 2 :(得分:0)
开发3.5英寸屏幕,但启用autoLayout。浏览视图中的每个项目并调整自动调整大小。 - 选择物品 - 通过在界面构建器中放大/缩小,向下到白色箭头的位置。单击看起来像H的小按钮。 - 这将允许您调整每个项目的调整