ios - 如何在 Xcode 8 上使用自动布局为不同的屏幕尺寸调整对象大小?

标签 ios iphone swift3 xcode8

我需要制作适合不同 iPhone 屏幕的简单应用程序,例如 iPhone 4、iPhone 5、iPhone 6/6s、iPhone 6 Plus(见下图)。

app preview

View Controller 中有两个 View 。顶 View (灰色区域),其中包含按钮和标签。底部 View (白色区域),其中包含 10 个 ImageView 、9 个苹果和一个盘子。

是否可以使用自动布局根据屏幕大小按比例调整每个 View 中的对象大小?

我只需要对纵向的 iPhone 屏幕执行此操作。

最佳答案

顶 View 是个好主意 - 使用 UICollectionView。 一个数字 - 它是一个 UICollectionViewCell,以 UIImageView 作为 subview 。对于此单元格,您必须返回大小:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
    CGFloat size = CGRectGetWidth(collectionView.bounds)/5.0;
    return CGSizeMake(size, size);
}

因此,对于 0 + 1 = ? 相同的逻辑。希望对您有所帮助。

关于ios - 如何在 Xcode 8 上使用自动布局为不同的屏幕尺寸调整对象大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40449266/

相关文章:

iphone - 更改搜索栏中的键盘颜色和外观

ios - 重新加载 ScrollView 的内容

ios - 错误 "int1"无法转换为 'Bool' swift3

ios - 是否可以从 wkwebview 中经过身份验证的 session 下载 pdf?

ios - 魔法记录: nil is not a legal NSPersistentStoreCoordinator

ios - 在没有 StoryBoard 的情况下通过 Swift 中的 View Controller 以编程方式传递变量

ios - Autolayout—— View 之间的填充

iphone - 无法将json字符串解析为nsdictionary

iphone - 将 NSArrays 转换为 C 样式( double )数组的最快例程是什么?

ios - 刷新 webview 上的标签栏项目