【iPhone】coverflowを簡単に実装できるライブラリ

Posted by: daichi  /  Category: 未分類

OpenFlowDemo

iPhoneアプリ開発者なら一度はCoverflowを実装してみたいと思うはず。

coverflowの実現方法は、以前からエリカ様の書籍にて公開されていましたが、undocumentedなAPIを使っているため、おそらくあの方法では申請したところでAppleに蹴られて終わりでしょう。最近はundocumented API検出ツールのようなものをAppleが使って審査してるという話もあるので、審査の目は前よりも厳しくなってる気がします。

となると、自力で実装していくしかないのですが、ちょうどよいライブラリがあったので、早速試してみる。


thefaj’s OpenFlow at master – GitHub

使い方はREADMEにも書いてあるとおり、

  1. OpenFlowのソースをプロジェクトへコピー
  2. CoreGraphics.frameworkとQuartzCore.frameworkをプロジェクトへ追加
  3. AFOpenFlowView.hをインポート
  4. AFOpenFlowViewDelegate と AFOpenFlowViewDataSourceのプロトコルを実装する

Delegateの方のプロトコルはoptionalなのでひとまずDataSourceの方だけでみると

  • – (void)openFlowView:(AFOpenFlowView *)openFlowView requestImageForIndex:(int)index
  • – (UIImage *)defaultImage

の2つ。

サンプルはこんな感じです。

?View Code OBJECTIVE-C
#import "RootViewController.h"
#import "AFOpenFlowView.h"
 
@implementation RootViewController
 
@synthesize flowView;
 
- (void)viewDidLoad {
	[super viewDidLoad];
 
	CGRect frame = [UIScreen mainScreen].applicationFrame;
	flowView = [[AFOpenFlowView alloc] initWithFrame:frame];
	flowView.dataSource = self;
	flowView.viewDelegate = self;
	flowView.backgroundColor = [UIColor blackColor];
	[flowView setNumberOfImages:10];
	[self.view addSubview:flowView];
}
 
- (void)openFlowView:(AFOpenFlowView *)openFlowView requestImageForIndex:(int)index {
	[flowView setImage:[UIImage imageNamed:@"camera.png"] forIndex:index];
}
 
- (UIImage *)defaultImage {
	return [UIImage imageNamed:@"camera.png"];
}
 
- (void)dealloc {
 [flowView release];
    [super dealloc];
}
 
@end

viewDidLoadあたりでAFOpenFlowViewを初期化。
dataSourceとdelegate(propertyはviewDelegate)にcontrollerをセット。
coverflowで表示したい画像数をセット。

あとはrequestImageForIndexでindex番目の画像をAFOpenFlowViewにセット。
デフォルトの画像はdefaultImageで設定できる。

完成はこんな感じ。

coverflow

4 Responses to “【iPhone】coverflowを簡単に実装できるライブラリ”

  1. 匿名 Says:

    このサンプルではエラーになるのでは?

  2. 通りすがり Says:

    情報ありがとうございます。ちなみに、動きますよ>匿名さん

  3. 匿名00 Says:

    良い情報ありがとうございます。

    一つ質問があります。

    OpenFlowを使ってアプリを開発して見ようと思っていますが、
    ただOpenFlow公開サンプルを使ってアプリを肺初すれば良いのでしょうか。。

    私が気になっているのは。。著作権問題です。
    例えば、このライブラリを使う時にはOpenFlow開発者にメールを送って許可を
    得た上で使うこととか。。アプリ内に著作権情報を含むこととか。。

    確認結果、OpenFlowは、「MIT open source license」となっていましたが、MITライセンスって実際にどうやって使えば良いのか。。が知りたいです。
    どうかご教授お願いします。

  4. AFOpenFlowにタッチイベントを追加する | senta devlog Says:

    [...] thefaj/OpenFlow – GitHub 【iPhone】coverflowを簡単に実装できるライブラリ | iPhoneアプリで稼げるのか [...]

コメント