ios - 自适应 UICollectionView 单元格宽度

标签 ios objective-c

我是 Collection View 和自动布局的新手,我在让单元格大小适应模拟器中的各种设备时遇到了问题。我正在使用流式布局,并在尺寸检查器中设置尺寸。我提供的图像显示了我需要单元格在所有设备上的外观(左侧 iPhone5 上的 Canvas )。 iPhone4 显示很好,但 6s 不正确。 有人可以告诉我这是如何完成的,因为我找不到我正在寻找的准确信息。 谢谢

此外,我不确定为什么 iPhone5 不像 4 和 6 那样在预览部分显示单元格......?任何线索..?

screen shot1

最佳答案

使用 UICollectionView,您需要使用委托(delegate)方法计算单元格的大小以及单元格周围的空间(插入和项间间距)。

像这样的东西应该适合你:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {

    return UIEdgeInsets(top: 8, left: 4, bottom: 0, right: 4)
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
    return CGFloat(8)
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

    let cellWidth = (view.bounds.size.width - 16) / 2
    let cellHeight = cellWidth * 0.8 // multiply by some factor to make cell rectangular not square

    return CGSize(width: cellWidth, height: cellHeight)
}

UICollectionViewCell 中,您可以使用自动布局来定位单元格中的内容,例如标签、图像等。

iPhone 5s

iPhone 6s Plus

关于ios - 自适应 UICollectionView 单元格宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342870/

相关文章:

ios - 如何在 UIWebview 中查看 DJVU 文件

ios - 单击搜索栏后 UISearchBar 消失

objective-c - 在 While 循环中使用 NSDate

ios - 如何在 iOS 中创建自定义控件?

ios - Xcode11 命令 PhaseScriptExecution 因 SDWebImage 的非零退出代码而失败

ios - 标题 View 字段 iOS 上的阅读水龙头

ios - 如何改变 UITextField 的形状?

ios - 给mkmap添加注解,想去掉部分注解却不会去掉

ios - 计算包含 HTML 的 NSAttributedString 的高度

ios - 谷歌街景嵌入式 iFrame 焦点跳转