我有一个collectionViewCell,我向它添加了一个标签,我将约束间距设置为最接近的邻居(0,0,0,0),因此必须采用所有单元格并调整其高度和宽度,但是标签根本没有显示。
我意识到,无论我在 collectionCell 中放入什么,如果我向其中添加约束,它就不会显示,所以我最终删除了所有约束并手动设置标签的高度和宽度
Collection View 单元格:
import UIKit
class CollectionViewCell: UICollectionViewCell {
var text:String?
var delegate: TableViewCell?
@IBOutlet weak var label: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
loadFromNib() // load xib
let tap = UITapGestureRecognizer(target: self, action: #selector(tapFunc))
label.isUserInteractionEnabled = true
label.addGestureRecognizer(tap)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func tapFunc(_ sender: Any) {
// head will not be clickable cuz parent here gonna be nil
if let p = delegate {
if p.isUserInteractionEnabledWith(cell: self){
p.didTapeLabel(for: self, value: label.text!)
}
} else {
print("parent at collectionview cell is nil")
}
}
func fillOutData(_ text:String) {
label.text = text
}
}
我正在构建一个多列 tableView : tableView --> tableViewCell --> CollectionView --> CollectionViewCell --> 标签
最佳答案
在 UITableViewCell 中为 UICollectionView 设置数据源和委托(delegate)。
override func awakeFromNib() {
//collection View Delegates
self.collectionView.delegate = self
self.collectionView.dataSource = self
super.awakeFromNib()
}
关于ios - xcode:添加约束后标签不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684554/