Ján*_*nos 139 interface-builder ios uicollectionviewcell swift ios8
我在Interface Builder中创建了一个自定义UICollectionViewCell,将它绑定到类上,然后当我想使用并将字符串设置为字符串上的标签时,tha label的值为nil.
override func viewDidLoad() {
super.viewDidLoad()
// Register cell classes
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
}
override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
var cell: LeftMenuCollectionViewCell
cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell
println(cell.label) // <- this is nil, why??
cell.label.text = "asd"
return cell
}
Run Code Online (Sandbox Code Playgroud)
和子类细胞:
class LeftMenuCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}
Run Code Online (Sandbox Code Playgroud)
Ján*_*nos 292
我self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
再次打电话.如果您使用的是故事板,则不希望将其称为"故事板".它将覆盖故事板中的内容.
如果您仍然有问题请检查是否reuseIdentifier
是相同的dequeueReusableCellWithReuseIdentifier
,并在storyboard
.
能蟹仔*_*能蟹仔 52
只需删除此行:
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
Run Code Online (Sandbox Code Playgroud)
Vin*_*eth 44
如果您使用的是xib,请确保已将此行代码添加到viewdidload中.
目标C:
[self.collectionView registerNib:[UINib nibWithNibName:@"MyCell" bundle:nil] forCellWithReuseIdentifier:@"MyCellIdentifier"];
Run Code Online (Sandbox Code Playgroud)
迅速:
collectionView.register(UINib(nibName:"MyCell", bundle: nil), forCellWithReuseIdentifier:"MyCellIdentifier")
Run Code Online (Sandbox Code Playgroud)
Mic*_*ael 16
要注册那个笔尖的家伙!
collectionView.register(UINib(nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "CustomCellId")
Run Code Online (Sandbox Code Playgroud)
Ser*_*gio 10
看起来有两种注册方式,第一种我用错了。我有一个自定义的 xib 视图,所以注册了第二个选项,我们有数据!
1:
collectionView?.register(YourItemClassName.self, forCellWithReuseIdentifier: "yourIdentifier")
Run Code Online (Sandbox Code Playgroud)
2:
collectionView?.register(UINib(nibName: "YourItemClassName", bundle: nil), forCellWithReuseIdentifier: "yourIdentifier")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33058 次 |
最近记录: |