0

我无法访问 xib 文件中 textLabel 的 stringValue,我将其用于我的通用 NSCollectionViewItem。

从 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 的引用并对其进行操作的任何想法?

4

1 回答 1

0

创建一个覆盖 NSCollectionViewItem 的自定义类 MyCollectionViewItem。添加一个 textLabel 成员并将其链接到您的 nib 文件中。然后在使用 makeItem 时进行转换:

let item = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier("collectionViewItem"), for: indexPath) as! MyCollectionViewItem
于 2018-03-23T08:58:09.453 回答