現在、アイコンとアイコンの右側にテキスト ラベルを表示するビューの作成に取り組んでいます。いくつか検索した結果、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];
また、プロトコルに必要な 2 つのメソッドを実装して、データ ソースを作成しました。
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 に何も表示されません。私は、このビューで明らかに間違ったことをしているのではないかと疑っています。それが何であるか知っている人はいますか?