2013-02-15 54 views
1

我想要的效果就像顯示iPhoto組(或時間軸)。如何使用IKImagebrowserView的組顯示?

enter image description here

我已經實現了共同IKImageBrowserView。這就像 enter image description here

但我不知道如何將它們分配到不同的組。

我提到:customizing IKImageBrowserView group appearance,這是在stackoverflow中唯一的帖子,也許。

我使用了IKImageBrowserDataSource的4種方法。

- (NSUInteger)numberOfItemsInImageBrowser:(IKImageBrowserView *)browser; 
- (id)imageBrowser:(IKImageBrowserView *)browser itemAtIndex:(NSUInteger)index; 
- (NSUInteger)numberOfGroupsInImageBrowser:(IKImageBrowserView *)browser; 
- (NSDictionary *)imageBrowser:(IKImageBrowserView *)browser groupAtIndex:(NSUInteger)index; 

我想我不知道如何編寫最後2種方法的代碼。

回答

2

您肯定需要實現最後兩種方法才能出現組。如果你只是想看到的效果,你可以做這樣的事情:

- (NSUInteger) numberOfGroupsInImageBrowser:(IKImageBrowserView *) aBrowser 
{ 
    return 1; 
} 
- (NSDictionary *) imageBrowser:(IKImageBrowserView *) aBrowser groupAtIndex:(NSUInteger) index 
{ 
    NSRange r = {0, 3}; 
    return @{IKImageBrowserGroupRangeKey: [NSValue valueWithRange:r], 
      IKImageBrowserGroupBackgroundColorKey: [NSColor redColor], 
      IKImageBrowserGroupStyleKey: [NSNumber numberWithInt:IKGroupDisclosureStyle]}; 
} 

由groupAtIndex返回目錄中的重要關鍵是IKImageBrowserGroupRangeKey。這描述了給定組中的圖像範圍。請注意,NSRange是一個結構,不是從NSObject派生的,因此它不能用作字典中的值。因此,它必須轉換爲NSValue。

對於這是你希望緩存你的範圍內的一組值,併爲組和取消圖像的機制真正有用的,但我希望這是足以讓你開始

+0

感謝戴爾。我現在可以看到效果。我想問更多,我不明白工作流程如何。例如,我有幾個NSArray(array1,array2,array3)來保存圖片的鏈接。我怎樣才能看到縮略圖? – droughtrain 2013-02-19 21:21:31

+0

我不確定我瞭解你的問題。您是否構建了Apple提供的ImageBrowser示例代碼項目?你可以在這裏找到它:[鏈接](https://developer.apple.com/library/mac/#documentation/graphicsimaging/Reference/IKImageBrowserView/IKImageBrowserView_Reference.html)。該示例使用'IKImageBrowserPathRepresentationType'並簡單地提供路徑。您也可以查看IKImageBrowserItem協議參考。 – 2013-02-20 19:33:44

+0

我將[DesktopImage](https://developer.apple.com/library/mac/#samplecode/DesktopImage/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008860)和[ImageBrowser](https:/ /developer.apple.com/library/mac/#samplecode/ImageBrowser/Introduction/Intro.html#//apple_ref/doc/uid/DTS10003997),但兩者都與團體外觀無關。我希望你能繼續回答我的問題,我在互聯網上找不到任何其他的例子。 – droughtrain 2013-02-25 19:32:38