gpt4 book ai didi

ios - 为什么 UICollectionView 中的单元格被截断了?

转载 作者:行者123 更新时间:2023-11-28 14:48:07 25 4
gpt4 key购买 nike

由于某些奇怪的原因,我的 UICollectionView 中的第一个单元格被截断了。我使用 Interface Builder 中的原型(prototype)单元设计了一个单元。我设置了自定义高度和约束,但是,在运行应用程序时单元格被切断。请参阅下面的图片进行说明:

它应该是这样的:

enter image description here

这是我运行应用程序时的样子:

enter image description here

这是 Collection View 所在类背后的代码:

override func viewDidLoad() {
super.viewDidLoad()

// set the navigation title
self.navBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "Trueno", size: 17)!]
self.navBar.topItem?.title = user.username

}

@IBAction func handleSettings(_ sender: Any) {

let action = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)


let settings = UIAlertAction(title: "Settings", style: .default) { action -> Void in
self.show(ViewController: "SettingScene")
}
let editProfile = UIAlertAction(title: "Edit Profile", style: .default) { action -> Void in
self.show(ViewController: "SettingScene")
}
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { action -> Void in}

action.addAction(editProfile)
editProfile.setValue(UIColor.purple, forKey: "titleTextColor")
action.addAction(settings)
settings.setValue(UIColor.purple, forKey: "titleTextColor")
action.addAction(cancel)
cancel.setValue(UIColor.purple, forKey: "titleTextColor")

present(action, animated: true, completion: nil)
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return user.posts.count + 1
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

var cell: UICollectionViewCell

// add the profile header/info cell if there are no cells inside of the colelction view
if collectionView.visibleCells.count == 0 {
let c = collectionView.dequeueReusableCell(withReuseIdentifier: "ProfileInfoCollectionViewCell", for: indexPath) as! ProfileInfoCollectionViewCell

c.profilePic.layer.cornerRadius = c.profilePic.frame.width / 2
c.profilePic.image = user.profilePic
c.profilePic.clipsToBounds = true

c.name.text = user.name
c.bio.text = user.bio
c.followerCount.text = String(user.followers.count)
c.followingCount.text = String(user.following.count)
c.memeCount.text = String(user.postCount)

cell = c
} else {
let c = collectionView.dequeueReusableCell(withReuseIdentifier: "ProfilePostCollectionViewCell", for: indexPath) as! ProfilePostCollectionViewCell
c.imageView.image = user.posts[indexPath.row - 1].img
cell = c
}

return cell

}

如能提供解决此问题的任何帮助,我们将不胜感激。谢谢!

最佳答案

您可以调用 sizeForItemAtIndexPath 委托(delegate)方法来设置单元格的大小。

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
// Set the size for cell
}

关于ios - 为什么 UICollectionView 中的单元格被截断了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50083129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com