ios - iPhone 4 和 iPhone 5 之间的自动调整问题

标签 ios objective-c constraints autosize

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

其他所有内容(专辑插图、标题标签等...)均以这种方式设置:

enter image description here

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

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

enter image description here

但在 iPhone 4 上,艺术家姓名和轨道名称有时会出现在专辑插图中:

enter image description here

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

最佳答案

澄清一下,您看到的差异是由 4 英寸和 3.5 英寸屏幕的不同屏幕尺寸造成的。如果您的所有 subview 都在没有“支柱”或“ Spring ”的情况下 float ,则自动调整大小机制将不会阻止重叠或保持与同级 View 的对齐。

如果你只需要支持 iOS 6 及更高版本,你可能应该学习和使用 Auto Layout .

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

在 3.5 英寸的屏幕上,相册图像会稍微窄一些(确保您的 UIImageView 的 contentModeUIViewContentModeScaleAspectFit,以便保持正方形纵横比)。容器 View 也会变窄,但只要它们作为容器 View 的 subview 居中和 float (没有 Spring 或支柱),您的标签和暂停控件将保持垂直对齐。

您的“火焰”控件也可能很好地漂浮在容器 View 中。请记住,它会更接近暂停控件。如果“火焰”和暂停控件靠得太近,在 3.5 英寸屏幕上不可用,您可以尝试不同的水平支柱组合 (|–|)。

关于ios - iPhone 4 和 iPhone 5 之间的自动调整问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885626/

相关文章:

objective-c - 删除Core Data对象时出错: NSManagedObjectContext cannot delete objects in other contexts

ios - 在 iOS 应用程序中将少量数据保存到磁盘的最正确方法是什么?

objective-c - 以编程方式创建的 NSButtonCell 在单击时不会突出显示

sql - 创建两个外键相互引用的表

mysql - 插入时违反约束

postgresql - 如何在 Postgresql 中创建列常量

ios - 奥林巴斯相机套件 : Need to acquire captured image in the original size after shooting

ios - UIBezierPath 和曲线指向但只有一个 CGPoint 而不是两个

iphone - Facebook Feed 对话框不断请求许可

objective-c - NSToolbarDelegate 错误?