我目前正在构建一个显示图标的视图,以及图标右侧的文本标签。经过一番搜索,我决定 IKImageBrowserView 最合适。因此,我继续创建了我的 IKImageBrowserView 并将其数据源设置如下:
// Setup image browser view
IKImageBrowserView *browser = [IKImageBrowserView new];
// Build our datasource delegate
MyDataStore *ds = [[MyDataStore alloc] init];
[browser setDelegate:ds];
[browser setDataSource:ds];
NSImage *image = // . . . File path
NSString *imageID = // . . . Filename
IKBBrowserItem *item = [[IKBBrowserItem alloc] initWithImage:image imageID:imageID];
[[ds images] addObject:item];
我还创建了我的数据源,在协议中实现了两个必需的方法:
import "MyDataStore.h"
@implementation MyDataStore
- (id) init {
if ([super init] != nil) {
images = [NSMutableArray new];
}
return self;
}
- (NSUInteger) numberOfItemsInImageBrowser:(IKImageBrowserView *) aBrowser {
return [images count];
}
- (id) imageBrowser:(IKImageBrowserView *) aBrowser itemAtIndex:(NSUInteger)index {
return [images objectAtIndex:index];
}
- (NSMutableArray *) images {
return images;
}
@end
但是,当我尝试添加一个项目时(如第一个代码块所示),我的 IKImageBrowserView 中没有显示任何内容。我怀疑我在用这种观点做一些明显不正确的事情。有谁知道那可能是什么?