0

我目前正在构建一个显示图标的视图,以及图标右侧的文本标签。经过一番搜索,我决定 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 中没有显示任何内容。我怀疑我在用这种观点做一些明显不正确的事情。有谁知道那可能是什么?

4

0 回答 0