最後に紹介するのは、スライドショーだ。iPhotoやFinderで行うスライドショーが、自分のアプリケーションでも出来てしまう。

スライドショーを行うのは、IKSlideshowクラスになる。スライドショーでも、ブラウザと同様に、データソースを使うことになる。必要なメソッドは、IKSlideshowDataSourceで定義されている。

必須メソッドは、2つだ。numberOfSlideshowItemsと、slideshowItemAtIndex:である。

IKSlideshow.h

- (NSUInteger)numberOfSlideshowItems;
- (id)slideshowItemAtIndex:(NSUInteger)index;

numberOfSlideshowItemsはスライドショーで使う画像の数を、slideshowItemAtIndex:はスライドショーで表示する画像オブジェクトを返す。ここでは、画像オブジェクトは特別なクラスではなく、一般的なクラスを使う。利用出来るのは、NSImage、NSString(画像のパス)、NSURL、NSFileWrapper、CGImageRef、PDFPageだ。

データソースの仕組みは、ブラウザ表示のものととてもよく似ていることに気づくだろう。実際、ブラウザ表示のデータソースを流用することで、スライドショーのデータソースは、あっという間に実現出来てしまう。

スライドショーを開始するには、runSlideshowWithDataSource:inMode:options:メソッドを呼べばいい。

IKSlideshow.h

- (void)runSlideshowWithDataSource:(id < IKSlideshowDataSource >)dataSource inMode:(NSString*)slideshowMode options:(NSDictionary*)slideshowOptions;

第一引数にはデータソース。第二引数にはスライドショーのモード、これには画像を表示するか、PDFを表示するかを指定する。そして、最後の引数はオプションだ。スライドショーを開始するインデックスや、ループするかどうかなどを指定する。

これで、スライドショーも実現出来た。

豊富な機能と優しいAPI

Image Kitが提供する機能を、一通り紹介してみた。非常に高機能なことが分かるだろう。しかも、使い方もとても簡単だ。

このフレームワークを使って、本格的な画像管理ソフトを作ることも出来るだろう。または、自分のアプリケーションで、ちょっとした画像の一覧表示をしたいときにも有用だ。まだ動作がこなれていないところも一部あるものの、非常に使い出のあるフレームワークが登場したといえるだろう。