在iPhone 4和iPhone 5之间自动调整问题

时间:2013-11-10 02:35:32

标签: ios objective-c constraints autosize

我使用自动调整参数以这种方式设置我的视图: enter image description here

所有其他内容(相册图片,标题标签等)都是这样设置的:

enter image description here

这就是自动调整通常最适合我的方式,但是现在这是我得到的最终结果:

在iPhone 5上它看起来很棒,像这样:

enter image description here

但是在iPhone 4上,艺术家名称和有时候的曲目名称都会出现在专辑封面中:

enter image description here

如何解决此问题?请尽可能详细

1 个答案:

答案 0 :(得分:2)

为了澄清,您看到的差异是由4英寸和3.5英寸屏幕的不同屏幕尺寸引起的。如果所有子视图都是浮动的,没有“struts”或“spring”,则自动调整机制不会阻止重叠或保持与兄弟视图的对齐。

如果您只需要支持iOS 6及更高版本,您应该学习并使用Auto Layout

如果您想坚持自动调整,我建议使用透明容器视图。将屏幕右半部分的标签和控件封装在与专辑图像视图大小相同的UIView中。相册图像和容器UIView都可以具有灵活的宽度(仅启用水平弹簧<–>,不支撑|-|)。

在3.5英寸的屏幕上,相册图像会稍微变窄(确保您的UIImageView的contentModeUIViewContentModeScaleAspectFit,因此保持方形宽高比)。容器视图也会更窄,但只要它们居中并浮动(没有弹簧或支柱)作为容器视图的子视图,您的标签和暂停控件将保持垂直对齐。

您的“火焰”控件也可能在容器视图中漂浮。请记住,它将更接近暂停控制。您可以尝试不同的水平支柱组合(|–|)用于“火焰”和暂停控制,如果它们距离太近以至于无法在3.5英寸屏幕中使用。