UICollectionView - 缩放单元格以适合屏幕

时间:2017-07-03 15:38:54

标签: ios swift uicollectionview

我的应用程序包含一目了然的视图,因此我不想在UITableViewUICollectionView中滚动项目。在iPhone(Compact / Regular)上,我希望每个项目都能缩放以适应手机的屏幕;在iPad上(好吧,常规/常规),我想以不同的方式展示东西。

注意:这个问题仅限于手机;我提到了iPad,因为我不认为UITableView是可行的方式。

这是我的意思的模型: iPhones and iPad mockups

我已经在UIStackView中获得了钻石项目及其旁边的标签,并且使用UICollectionView进行了此操作,但现在想要使所有项目都适合屏幕。帮助

1 个答案:

答案 0 :(得分:1)

您可以使用此collectionView流程布局委托方法来实现此

func collectionView(_ collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAt indexPath: IndexPath) -> CGSize {
  if UIDevice.current.userInterfaceIdiom == .pad{
     // here return cell size for iPad.
     return CGSize(width:collectionView.bounds.width / 2 , height:100)
  }else{
      // here return cell size for iPhone
      return CGSize(width:collectionView.bounds.width, height:100)
  }
}