1

我已经离开 iOS 开发一段时间了,我遇到了障碍。

我的一个应用程序有一个 UIImageView 图形,然后我有覆盖视觉效果的按钮。除了自动布局之外,我能够让一切正常工作。

如果我将笔尖设置为 3.5 并在 3.5 模式下运行模拟器,一切都会很好。如果我在 4.0 模式下运行它,按钮都会移动。这也适用于与此相反的情况。

我不确定如何绕过移动的按钮。有没有办法或者应该有2个笔尖?

4

3 回答 3

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;
}

如果您想支持旧 iOS 版本,IB/iPhone的简单方法是关闭自动布局

关闭自动布局

并关闭最高值的自动调整大小。

在此处输入图像描述

在 IB 中为 iPhone 5 布局视图,当您使用 iPhone 3.5in 时,所有界面元素将挤入 3.5in 大小(确保在以较高尺寸布局时留出足够的空白)

于 2013-03-26T01:40:52.877 回答
0

你可以按照这个很好的自动布局教程:http ://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

于 2013-03-26T00:19:20.610 回答
0

在 3.5 英寸屏幕上开发,但启用 autoLayout。浏览视图中的每个项目并调整自动调整大小。- 选择项目 - 通过在界面生成器中放大/缩小,向下到白色箭头所在的位置。单击看起来像 H 的小按钮。 - 这将允许您调整每个项目的调整

在此处输入图像描述

在此处输入图像描述

于 2013-03-26T00:23:47.733 回答