我希望我的单元格宽度在每个屏幕尺寸上都与屏幕宽度相同。由于Storyboard中的选项被禁用,我无法设置约束条件,在程序中设置约束条件会导致错误,错误信息类似于“无法激活约束条件,因为它们没有共同的祖先”,即使我只把约束条件设置为视图的前导和后续锚定点。
现在Storyboard的设置方式是,单元格在iPhone SE上具有所需的宽度,并且在较大的屏幕尺寸上具有相同的宽度。
现在Storyboard的设置方式是,单元格在iPhone SE上具有所需的宽度,并且在较大的屏幕尺寸上具有相同的宽度。
viewcontroller:UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize.init(
width: collectionView.bounds.height,
height: collectionView.bounds.height
)
}
collectionView
的宽度设置为屏幕宽度。
在您的viewDidLoad()
中编写以下代码。let height: CGFloat = 100.0 //Some constant
let width: CGFloat = self.view.frame.width
let spLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
spLayout.itemSize = CGSize(width: width, height: height)