gpt4 book ai didi

ios - UICollectionView无法显示自定义单元格内容

转载 作者:行者123 更新时间:2023-11-30 13:49:24 25 4
gpt4 key购买 nike

我尝试使用 UICollectionView 创建一个虚拟照片应用程序。我的 Xcode 版本是 7.2,Swift 版本是 2.1.1。我用Storyboard按照 http://www.raywenderlich.com/78550/beginning-ios-collection-views-swift-part-1 中的教程构建 UI 部分

在 Swift 2.0 中,UICollectionViewDataSource 继承自 UICollectionViewController,我们不需要显式声明这些协议(protocol)。我为 DataSource 实现了所需的重写方法,并在 UICollectionViewController 中的 viewDidLoad() 中注册了自定义单元格。我在单元格中放置了一个测试标签来检查它是否有效。不幸的是,在我启动应用程序后,该标签从未出现。我在下面附上一些代码作为引用:

UICollectionViewController

class VacationsCollectionViewController: UICollectionViewController {

private let reuseIdentifier = "VacationCell"

override func viewDidLoad() {
super.viewDidLoad()
self.collectionView!.registerClass(VacationsCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
}

// MARK: UICollectionViewDataSource

override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}

override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
return 1
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! VacationsCollectionViewCell

// Configure the cell
cell.backgroundColor = UIColor.blueColor()
cell.CellText.text = "Show me the money"

return cell
}
}

UICollectionViewCell

class VacationsCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var CellText: UILabel!
}

知道为什么标签从未出现在我的虚拟应用程序中吗?

最佳答案

看起来你已经拥有了你需要的一切。问题可能出在你的 Storyboard上。为了安全起见,请向标签添加约束,以便它肯定会正确显示。然后,向 Collection View Controller 添加扩展,并确保大小也允许显示标签。这至少对我有用,而且我的情况与你完全相同。

extension OfficesCollectionViewController: UICollectionViewDelegateFlowLayout{
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSize(width: 200, height: 200)
}
}

关于ios - UICollectionView无法显示自定义单元格内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487018/

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