FC2ブログ

UITableViewのメモ

テーブル生成する際に良く使うテーブルビューのまとめ

1.テーブルに表示するレコード数を設定する場合
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

のメソッドを用意されると呼ばれます。
NSMutableArrayで保持っておいてカウントを返すのが早いかも

2.該当列にデータを設定する場合

こちらもメソッドを用意してて上位から呼ばれるパターン
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

indexPath.rowが該当レコード位置(0オリジン)

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
でcell情報取得して(ない場合autoreleaseで生成)
cell.textに文字列データを設定し
cell.imageに該当イメージを。
イメージの横幅で文字列の位置が決まってるぽいので
横幅を一緒にすると良い感じかも

3.列を選択した場合

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

のメソッドが呼ばれる。
同じようにindexPath.rowが選択行。

ただ、編集モード中は通常だと選択されないので
Interface Builderにて「Allow Selection While Editing」にチェック入れると
選択されるようになる

4.編集モードへの移行

列を削除したり、行の位置を変更したい場合、
編集モードへ移行するのが宜しいっす

[table_view setEditing:YES animated:YES];

とするだけ解除は

[table_view setEditing:NO animated:YES];


5.削除処理

編集モード中が自動的に削除アイコンが現れます。
個別に削除アイコンの表示をカスタマイズする為には
(UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;
メソッドを用意してそれぞれのレコード位置に対して
UITableViewCellEditingStyleDeleteを返したり
UITableViewCellEditingStyleInsertを返したり

で、削除アイコン押して、できてた「削除」のボタンが出て来て、これを押したら削除完了ですけど
以下メソッドを用意する事で、呼ばれます。

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath;

後は内部で保持しているデータを削除して
[table_view reloadData];
で反映されます。

でも、これだと削除のアニメーションしないので

↓こんな感じで削除すると良い感じにアニメーションされます
NSMutableArray *path_array = [[NSMutableArray alloc] init];
[path_array addObject:indexPath];
[table_view deleteRowsAtIndexPaths:path_array withRowAnimation:UITableViewRowAnimationTop];
[path_array release];

スポンサーサイト



comment

管理者にだけメッセージを送る

プロフィール

まっちゃん

Author:まっちゃん
FC2ブログへようこそ!

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2ブログランキング

FC2Blog Ranking

ブログ内検索
RSSフィード
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード