我正在为我的应用程序创建一个配置文件页面屏幕。屏幕显示所有用户的最新帖子。我使用情节提要在UICollectionView中创建了两个UICollectionViewCell,一个用于显示您的个人资料信息,另一个用于显示您的帖子。请参见我在情节提要中如何设计它:https://i.stack.imgur.com/6TzwK.png
运行应用程序时,得到以下结果:https://i.stack.imgur.com/XmvY3.jpg
但是,我希望像下面这样放置单元格:https://i.stack.imgur.com/nWQ14.jpg
如何强制单元格对齐,使其看起来如上图所示?谢谢!
答案 0 :(得分:0)
找到了问题的答案。为您的班级实施UICollectionViewDelegateFlowLayout
委托。然后,在类中包含以下方法:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width = UIScreen.main.bounds.width // get the width of the screen
let scale = (width / 3) // get the width (and height) of each cell
if indexPath.row != 0 { // check to see if the cell is the profile header
return CGSize(width: scale, height: scale) // if not, then return the cell size
}
return CGSize(width: width, height: ((238/414) * width)) // if it is the profile header, return the size for it.
}
确保UICollectionView的故事板设置的“最小间距”为0,0。然后,这些单元将对齐到网格视图中。