iPhoneアプリのユーザインタフェースの作りこみ
ユーザを迷わせないためには、できれだけ使い慣れた既存のアプリに合わせる。そこで目を付けたのがメールソフトです。
編集を押して
ポチっと
一覧から選択させるのに、いいじゃないですか。
が、しかーし。標準の部品にこれないじゃん;;でもめげません、なければ作ればいいんじゃん。
画像をサクっと作ります。
未チェック状態
チェック状態
画像ファイルはこちら(自由にお使いください)
http://www.eonet.ne.jp/~einstein/iOS/design/checkbox.zip
チェックボックスクラスは、ここを参考に
http://stackoverflow.com/questions/1171476/checkbox-image-toggle-in-uitableviewcell
こんな感じに作成しました。基本的な形はこれで
UITabelViewに乗せるときには
- 親のUITableViewCellがタッチされた時にチェックボックスをOnにする。
- UITableViewCellが再利用されることを想定して、オンとオフの状態を外から操作できる。
など必要です。
#import <Foundation/Foundation.h> @interface ToggleImageControl : UIControl { BOOL selected; UIImageView* imageView; UIImage* normalImage; UIImage* selectedImage; } - (void)toggleImage; @end
#import "ToggleImageControl.h" @implementation ToggleImageControl - (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { selected = false; normalImage = [UIImage imageNamed: @"normal.png"]; selectedImage = [UIImage imageNamed: @"selected.png"]; imageView = [[UIImageView alloc] initWithImage: normalImage]; // set imageView frame [self addSubview:imageView]; } return self; } - (void)toggleImage { selected = !selected; imageView.image = (selected ? selectedImage : normalImage); } - (void)dealloc { NSLog(@"ToggleImageControl dealloc"); [imageView release]; [normalImage release]; [selectedImage release]; [super dealloc]; } @end