Software Development: December 2009 Archives
CocoaにはNSTokenFiledというコントロールがありますがCocoa Touchには無いんですよね,
でもiPhone標準のメールで使っているので,「使えねえの?」とAppleに聞いてみたところ
「欲しかったらリクエストしてねん」とつれない返事だったので,自分で作ってみました.
*発売中の「parM@iler」のアドレス入力に使用しています
// 構築
PCLUITokenField *field = [[PCLUITokenField alloc] initWithFrame:CGRectMake(0, 0, 150, 31) editing:YES];
// ビューに追加
[[self view] addSubview:field];
// Token追加
[field addToken:@"Partire"];
キーボードからの入力
// 再度Token追加
[field addToken:@"Partire"];
キーボードからのDeleteボタン入力(この場合6回)で選択
再度キーボードからのDeleteボタン入力でToken削除
ボタン自体はUIButton,入力部分はUITextFieldでBOX化してUIViewから継承させているので
仕組み的には難しくありませんがDeleteボタンがタップされたときに取得できるメソッドが無いので
この部分は割と苦労しました.また,OS 3.0以上では2.2.1で呼ばれてたメソッドが呼ばれなくなったりして
OSのバージョンによって若干動作が変わったりしてます.(2.2.1のほうがスマートに動作します)
割とうまく動きますので興味のある方は是非「parM@iler」のご購入お願いします(結局宣伝かよ).
標準のUISegmentedControlを良く使用しますが,いまいち押された感がないので
UISegmentedControlを継承してカスタムドロー部分のみを調整したコントロールを
作成して見ました.
まだ単色塗りなのでこれまたいまいちですが,若干は押された感があるように
なったかなと思います.