Hatena::Groupiphone-dev

Ni chicha, ni limona - 平均から抜けられない僕

2010-12-25

[UI] プルダウン型のUIを作りました 16:42  [UI] プルダウン型のUIを作りました - Ni chicha, ni limona - 平均から抜けられない僕 を含むブックマーク はてなブックマーク -  [UI] プルダウン型のUIを作りました - Ni chicha, ni limona - 平均から抜けられない僕  [UI] プルダウン型のUIを作りました - Ni chicha, ni limona - 平均から抜けられない僕 のブックマークコメント

ボタンにタッチするとメニューがスルスルッと出てきて、フリックしたらイベントが発生するユーザーインタフェースがほしいなと思ったので、そういうビューコントローラを作ってみました。


  GitHub - hirohitokato/KSPopoverView: A pulldown menu UI for iOS


以下、自分の備忘録も兼ねた使い方です。

使い方

1. ビューコントローラKSPopoverViewControllerを作成します。作成する際、メニューを引き出すきっかけになるボタンの画像と、配置位置(左上)を指定します。

UIImage *image = [UIImage imageNamed:@"katokichi"];
_menu = [[KSPopoverViewController alloc] initWithImage:image
	 point:CGPointMake(50.0f, 340.0f)];

2. メニューで表示するボタンを追加します。ボタンは文字列で指定します(KSPopoverViewButtonBaseのサブクラスを自分で作成すれば、文字列でないボタンも作成できます)。あとはデリゲートオブジェクトを指定してビューに突っ込むだけです。

[_menu addButtonWithTitle:@"アイテム 1"];
[_menu addButtonWithTitle:@"アイテム 2"];
[_menu addButtonWithTitle:@"アイテム 3"];
[_menu addButtonWithTitle:@"アイテム 4"];
[_menu addButtonWithTitle:@"アイテム 5"];
[_menu addButtonWithTitle:@"アイテム 6"];
_menu.delegate = self;
[self.view addSubview:_menu.view];

3. UIで要素が選択されると、イベントを受信するデリゲートメソッドがインデックス番号とアイテムのオブジェクトと共に呼ばれます。

- (void)popoverViewController:(KSPopoverViewController *)controller
			   selectedButton:(KSPopoverViewButtonBase *)button
					  AtIndex:(NSInteger)buttonIndex {
	button.text = [NSString stringWithFormat:@"pressed %d", buttonIndex];
}

ここで処理を行います。


アドホックなところも多くあるので、何かあればコメントをもらえると嬉しいです。

nihitonihito2011/06/18 09:50DLさせていただきました。
二文字のアルファベットを先頭につけたクラスをみて律儀だなぁと感心しました。(←見るべきところが違っててすいませんw)

dandan2011/12/15 01:10非常にに参考になりました。活用させてください。