swift collection查看调整大小的问题

时间:2015-08-31 20:10:24

标签: swift uicollectionview

所以我遇到的问题是,集合视图,取决于我使用的模拟器,在一个设置中显示3个(iPhone 5)列,在另一个设置中显示4列(iPhone 6)。我希望集合视图始终显示4列,无论屏幕有多大或多小。以下是我目前使用的一些代码:

 override func viewDidLoad() {
    super.viewDidLoad()

    let screenWidth = UIScreen.mainScreen().bounds.size.width
    let screenHeight = UIScreen.mainScreen().bounds.size.height


    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
    layout.itemSize = CGSize(width: 100, height: 80)

           collview1 = UICollectionView(frame: CGRectMake(0, 0, screenWidth, screenHeight), collectionViewLayout: layout)


    [collview1.reloadData];


}

1 个答案:

答案 0 :(得分:1)

您希望将layout.itemSize更改为计算值。

类似的东西:

layout.itemSize = CGSize(width: (screenWidth - spacing) / numberOfColumns, height: desiredHeight)

间距将是一行中的项目间距加上左右插图。

DesiredHeight应该是一个计算值,用于维持设备之间的单元格的宽高比。

希望这有用。