NSCollectionView 没有显示任何内容
NSCollectionView does show nothing
我已尝试遵循此指南:
Quick Start for Collection Views
在集合视图项中使用 NSImageView。
没有显示任何内容,如果我使用 Image Well 设置图像也没有显示,如果我通过代码设置数组也没有显示。
所以我尝试使用
以编程方式进行
func representedObject(representedObject: AnyObject)
{
super.representedObject = representedObject
photoImageView.image = (representedObject as! NSImage)
println("\(representedObject)")
}
在集合视图项(子类)中。
如果我不子类化 Collection View Item Xcode 告诉我没有原型集,如果我子类化它它告诉我 "could not load the nibName"...(它在故事板中正确标识集)
我无法使用此集合视图:-(
无论如何,我喜欢绑定...所以我想通过绑定获得正确的结果..
我检查并重新检查了 link 文档中的每个段落,一切似乎都很好。主要区别在于文档使用应用程序委托,我使用的是视图控制器。
我翻译了 swift 中的 KVC 方法,我认为它们是正确的,因为我知道它们已被调用。他们是:
func insertObject(p: ClientPhoto, inClientPhotoArrayAtIndex index: Int) {
images.insertObject(p, atIndex: index)
}
func removeObjectFromClientPhotoArrayAtIndex(index: Int) {
images.removeObjectAtIndex(index)
}
func setClientPhotoArray(a: NSMutableArray) {
images = a
}
func clientPhotoArray() -> NSArray {
return images
}
它们基本上是使用 NSCollectionView 的两种方法。 1 是设置 itemPrototype
属性,另一个是覆盖 newItemForRepresentedObject
。 override 方法更灵活,优点是您可以使用下面的技术在故事板中创建 nscollectionviewitem,并且所有插座都将正确设置。这是我如何使用它的示例:
class TagsCollectionView: NSCollectionView {
// ...
override func newItemForRepresentedObject(object: AnyObject!) -> NSCollectionViewItem! {
let viewItem = MainStoryboard.instantiateControllerWithIdentifier("tagCollectionViewItem") as! TagCollectionViewItem
viewItem.representedObject = object
return viewItem
}
我已尝试遵循此指南:
Quick Start for Collection Views
在集合视图项中使用 NSImageView。
没有显示任何内容,如果我使用 Image Well 设置图像也没有显示,如果我通过代码设置数组也没有显示。
所以我尝试使用
以编程方式进行func representedObject(representedObject: AnyObject)
{
super.representedObject = representedObject
photoImageView.image = (representedObject as! NSImage)
println("\(representedObject)")
}
在集合视图项(子类)中。
如果我不子类化 Collection View Item Xcode 告诉我没有原型集,如果我子类化它它告诉我 "could not load the nibName"...(它在故事板中正确标识集)
我无法使用此集合视图:-(
无论如何,我喜欢绑定...所以我想通过绑定获得正确的结果.. 我检查并重新检查了 link 文档中的每个段落,一切似乎都很好。主要区别在于文档使用应用程序委托,我使用的是视图控制器。
我翻译了 swift 中的 KVC 方法,我认为它们是正确的,因为我知道它们已被调用。他们是:
func insertObject(p: ClientPhoto, inClientPhotoArrayAtIndex index: Int) {
images.insertObject(p, atIndex: index)
}
func removeObjectFromClientPhotoArrayAtIndex(index: Int) {
images.removeObjectAtIndex(index)
}
func setClientPhotoArray(a: NSMutableArray) {
images = a
}
func clientPhotoArray() -> NSArray {
return images
}
它们基本上是使用 NSCollectionView 的两种方法。 1 是设置 itemPrototype
属性,另一个是覆盖 newItemForRepresentedObject
。 override 方法更灵活,优点是您可以使用下面的技术在故事板中创建 nscollectionviewitem,并且所有插座都将正确设置。这是我如何使用它的示例:
class TagsCollectionView: NSCollectionView {
// ...
override func newItemForRepresentedObject(object: AnyObject!) -> NSCollectionViewItem! {
let viewItem = MainStoryboard.instantiateControllerWithIdentifier("tagCollectionViewItem") as! TagCollectionViewItem
viewItem.representedObject = object
return viewItem
}