我在访问 xib 文件中用于通用 NSCollectionViewItem 的 textLabel 的 stringValue 时遇到问题。
从 xib 文件注册 collectionView:
override func viewDidLoad() {
super.viewDidLoad()
let item = NSNib(nibNamed: NSNib.Name("collectionViewItem"), bundle: nil)
collectionView.register(item, forItemWithIdentifier: NSUserInterfaceItemIdentifier("collectionViewItem"))
collectionView.delegate = self
collectionView.dataSource = self
}
制作 NSCollectionViewItem:
func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let item = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier("collectionViewItem"), for: indexPath)
// Here I want to access the stringValue of the textLabel within my collectionViewItem.
return item
}
关于如何创建对此 textLabel 的引用并对其进行操作有什么想法吗?
最佳答案
创建一个覆盖 NSCollectionViewItem 的自定义类 MyCollectionViewItem。添加一个 textLabel 成员并将其链接到您的 nib 文件中。然后在使用makeItem时进行强制转换:
let item = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier("collectionViewItem"), for: indexPath) as! MyCollectionViewItem
关于swift - 从集合中引用文本标签查看项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49215637/