NSCollectionViewItem具有自定义视图

史蒂文·帕尔默

我一直在努力创建一个具有一组带有自定义视图的NSCollectionViewItems的NSCollectionView。当项目视图上的控件是标准AppKit控件时,代码可以正常工作,但是一旦添加了自定义NSView,就无法从Interface Builder绑定它。

通过花一些时间搜索互联网,似乎有很多解决方案,但是似乎都是专门的。是否有一些简单的示例代码演示在给定项目视图上的CustomImage *的情况下如何在该自定义视图上设置image属性?

提供每个项目数据的模型是:

@interface MyItem : NSObject
@property (retain, readwrite) NSImage * image;
@property (retain, readwrite) NSString * name;
@end

NSCollectionViewItem子类是:

@interface MyCollectionViewItem : NSCollectionViewItem

// Properties
@property (strong) IBOutlet NSTextField * name;
@property (strong) IBOutlet CustomImage * image;

@end

其中CustomImage只是NSImageView的子类。

我尝试子类化NSCollectionView并覆盖newItemForRepresentedObject作为建议的一些答案,并在那里分配:

MyItem * item = (MyItem *)object;
MyCollectionViewItem * newItem = (MyCollectionViewItem *)[super newItemForRepresentedObject:object];

NSView *view = [newItem view];
[view bind:@"name" toObject:item withKeyPath:@"name" options:nil];
[view bind:@"image" toObject:item withKeyPath:@"image" options:nil];
return newItem;

但这只是在bind调用中被炸毁,并出现“名称”不存在的错误。

从理论上讲,这应该是一件非常简单的事情,但是我发现的答案都没有清楚地说明这一点。一种替代方法是抛弃NSCollectionView并在GitHub上使用更简单的替代方法之一,但我想最后尝试看看它是否首先可解决。

谢谢!

肯·托马斯(Ken Thomases)

您如何将CustomImage实例添加到项目视图中?

如果将“自定义视图”拖入然后更改类,则IB不会将其视为NSImageView

但是,如果您拖出一个anNSImageView然后更改类,则IB应该仍将其视为an,NSImageView并且您应该能够像平常一样绑定其绑定。在这种情况下,您可以将其Value绑定绑定到集合视图项,即模型键路径“ representedObject.image”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使自定义视图具有焦点

来自分类Dev

具有自定义视图的UITableViewCell

来自分类Dev

具有自定义视图的 objectanimator

来自分类Dev

MKAnnotationView具有自定义视图和图像视图

来自分类Dev

具有自定义视图和图像视图的MKAnnotationView

来自分类Dev

具有带有Spinner的自定义列表项的自定义列表视图

来自分类Dev

具有高度变化的子视图的自定义TableViewCell

来自分类Dev

具有水平滚动的自定义视图

来自分类Dev

具有自定义视图的旋转动画

来自分类Dev

具有自定义视图的iOS MVC实现

来自分类Dev

具有自定义视图ID的Android API

来自分类Dev

具有自定义视图的Android CollapsingToolbarLayout

来自分类Dev

具有子视图的自定义布局

来自分类Dev

具有ImageButton的Android自定义列表视图

来自分类Dev

具有页面视图的自定义导航栏[Flutter]

来自分类Dev

SwiftUI-具有自定义视图的TabView覆盖

来自分类Dev

具有许多功能的Android自定义视图

来自分类Dev

如何继承具有.xib文件的自定义视图

来自分类Dev

具有按钮单击事件的自定义列表视图

来自分类Dev

具有搜索视图的Android自定义ActionBar

来自分类Dev

具有自定义列表视图的自定义警报对话框

来自分类Dev

具有自定义属性的Android自定义视图

来自分类Dev

具有自定义视图的AlertDialog.Builder:如何初始化视图?

来自分类Dev

具有自定义视图和自定义属性的Android 2-Way数据绑定

来自分类Dev

具有自定义状态的自定义按钮

来自分类Dev

具有工作选择,光标位置等的自定义旋转EditText视图

来自分类Dev

在iOS上创建具有正方形视图的自定义相机

来自分类Dev

具有多种自定义单元格类型的RxSwift表视图

来自分类Dev

Android:具有图像和文本错误的自定义网格视图适配器

Related 相关文章

  1. 1

    使自定义视图具有焦点

  2. 2

    具有自定义视图的UITableViewCell

  3. 3

    具有自定义视图的 objectanimator

  4. 4

    MKAnnotationView具有自定义视图和图像视图

  5. 5

    具有自定义视图和图像视图的MKAnnotationView

  6. 6

    具有带有Spinner的自定义列表项的自定义列表视图

  7. 7

    具有高度变化的子视图的自定义TableViewCell

  8. 8

    具有水平滚动的自定义视图

  9. 9

    具有自定义视图的旋转动画

  10. 10

    具有自定义视图的iOS MVC实现

  11. 11

    具有自定义视图ID的Android API

  12. 12

    具有自定义视图的Android CollapsingToolbarLayout

  13. 13

    具有子视图的自定义布局

  14. 14

    具有ImageButton的Android自定义列表视图

  15. 15

    具有页面视图的自定义导航栏[Flutter]

  16. 16

    SwiftUI-具有自定义视图的TabView覆盖

  17. 17

    具有许多功能的Android自定义视图

  18. 18

    如何继承具有.xib文件的自定义视图

  19. 19

    具有按钮单击事件的自定义列表视图

  20. 20

    具有搜索视图的Android自定义ActionBar

  21. 21

    具有自定义列表视图的自定义警报对话框

  22. 22

    具有自定义属性的Android自定义视图

  23. 23

    具有自定义视图的AlertDialog.Builder:如何初始化视图?

  24. 24

    具有自定义视图和自定义属性的Android 2-Way数据绑定

  25. 25

    具有自定义状态的自定义按钮

  26. 26

    具有工作选择,光标位置等的自定义旋转EditText视图

  27. 27

    在iOS上创建具有正方形视图的自定义相机

  28. 28

    具有多种自定义单元格类型的RxSwift表视图

  29. 29

    Android:具有图像和文本错误的自定义网格视图适配器

热门标签

归档