我是可可的新手。我使用 NSArrayController 和 binding 成功创建了一个带有两个 colomns 的 TableView ,都包含文本。现在我想为自定义 TableView 实现相同的目标。我的 TableView 包含两个列,一个应该包含图像,另一个应该包含图像描述。我想使用 binding 填充我的表。谁能告诉我如何实现这一目标。
问问题
841 次
1 回答
0
请按照以下步骤操作:
在 Xib/Nib 文件中:
- 以 NSArrayController 为例。
- 取 NSTableView 并取两列。
- 在第一列拖动 NSImageCell,第二个将默认为 NSTextCell。
- 现在绑定:
- NSObject 或 FileOwners 的第一个数组控制器。
- 你的 mutablearray 到 arraycontroller 。
- Tableview 第一列到数组控制器,其控制器键应为arrangesObjects,modelkeypath 应为img。
- Tableview 第二列到数组控制器,其控制器键应为arrangesObjects,modelkeypath 应为desc。
(注意:在绑定到表列时,如果您使用 >10.6 操作系统版本,请选中一个选项立即验证)
在头文件中:
NSString *img;
NSString *desc;
NSMutableArray *arr;
IBOutlet NSArrayController *arrCont;
@property (readwrite,retain) NSString *img;
@property (readwrite,retain) NSString *desc;
@property (readwrite,retain) NSMutableArray *arr;
在实现文件中:
self.arr = [[NSMutableArray alloc] init];
NSString *imageName = [[NSBundle mainBundle] pathForResource:@"yourImageName" ofType:@"tiff"];
NSImage *photoImage = [[NSImage alloc] initWithContentsOfFile:imageName];
NSMutableDictionary *dc = [NSMutableDictionary dictionary];
[dc setObject:photoImage forKey:@"img"];
[dc setObject:@"noImage" forKey:@"desc"];
[arr addObject:dc];
[self setArr:arr];
于 2013-08-29T11:19:26.190 回答