Swift 我的collectionView函数(sizeForItemAt indexPath)没有';nt工作
各位工程师,祝你们好运,基本上我想连续调整collectionView照片的大小,但当我使用名为sizeForItemAt indexPath的collectionView方法时,它在模拟器上对我不起作用。 在使用此功能之前,这是我的模拟器: 这是我的viewDidLoad和函数代码:Swift 我的collectionView函数(sizeForItemAt indexPath)没有';nt工作,swift,uicollectionview,Swift,Uicollectionview,各位工程师,祝你们好运,基本上我想连续调整collectionView照片的大小,但当我使用名为sizeForItemAt indexPath的collectionView方法时,它在模拟器上对我不起作用。 在使用此功能之前,这是我的模拟器: 这是我的viewDidLoad和函数代码: override func viewDidLoad() { super.viewDidLoad() print("\n iid is \(cid)") fetchO
override func viewDidLoad() {
super.viewDidLoad()
print("\n iid is \(cid)")
fetchOffer()
collectionView.dataSource = self
collectionView.delegate = self
collectionView.collectionViewLayout = UICollectionViewFlowLayout()
}
func collectionView(_ collectionView: UICollectionView , layout collectionViewLayout: UICollectionViewLayout , sizeForItemAt indexPath : IndexPath ) -> CGSize {
return CGSize(width: 200, height: 300)
}
在使用这些之后,我的模拟器向我显示:
有人知道这件事吗?我会删除委托方法: func collectionView(collectionView:UICollectionView,布局collectionViewLayout:UICollectionViewLayout,sizeForItemAt indexPath:indexPath)->CGSize{ 返回CGSize(宽:200,高:300) } 而是依赖于内容的固有大小(即模拟器中的UIImageView和UILabel)。如果设置内部内容相对于superview的大小,则CollectionViewCell将自行调整大小
class YourVC: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
print("\n iid is \(cid)")
fetchOffer()
collectionView.dataSource = self
collectionView.delegate = self
}
}
您需要将UICollectionViewDelegateFlowLayout
添加到UIViewController
中,然后将调用它(layout collectionViewLayout
)
如果您在此处发现任何问题,请检查并通知我。从情节提要中将“估计大小”设置为“无”。我设置了它,但仍然不适用于我。您是否添加了此委托UICollectionViewDelegateFlowLayout?同时删除此行“``collectionView.collectionViewLayout=UICollectionViewFlowLayout()```您使用过任何flowlayout吗?谢谢,当您配置UI时,我该怎么做?使用自动布局约束、UIStackView或框架(或组合)来设置UI组件的各个元素。非常感谢兄弟,现在我有了一个我想要的结果,我希望您能得到有用且有帮助的答案questions@Alikazemi欢迎光临:)。关于
UICollectionView
,您还有什么其他疑问吗?如果我有问题的话,现在不行,我会在这里提到新问题