如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?
Posted
技术标签:
【中文标题】如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?【英文标题】:How to resize objects for different screen sizes using auto layout on Xcode 8? 【发布时间】:2016-11-06 12:20:36 【问题描述】:我需要让简单的应用程序适应不同的 iPhone 屏幕,例如 iPhone 4、iPhone 5、iPhone 6/6s、iPhone 6 Plus(见下图)。
视图控制器中有两个视图。包含按钮和标签的顶视图(灰色区域)。底部视图(白色区域),包含 10 个图像视图、9 个苹果和一个盘子。
是否可以使用自动布局根据屏幕大小按比例调整每个视图中的对象大小?
我只需要为纵向的 iPhone 屏幕执行此操作。
【问题讨论】:
【参考方案1】:顶视图是个好主意 - 使用UICollectionView
。
一个数字 - 这是一个 UICollectionViewCell
与 UIImageView
作为子视图。对于此单元格,您必须返回大小:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
CGFloat size = CGRectGetWidth(collectionView.bounds)/5.0;
return CGSizeMake(size, size);
所以,对于0 + 1 = ?
,同样的逻辑。希望对您有所帮助。
【讨论】:
【参考方案2】:布局约束有“常数”和“乘数”。您可以根据自己的目的使用乘数
【讨论】:
为了您的目的*以上是关于如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?的主要内容,如果未能解决你的问题,请参考以下文章