さて、前回は見た目はなんの進展もなく終わってしまったので、

今回は、なんか変わった!というくらい変わってみたいと思います。

まずは、
TableViewSampleAppDelegate.hですが、
今回はナビゲーションバーを表示してそれを操作できるようにしたいと思います。
ContactListViewControllerのビューを直接表示するのではなく、ナビゲーションコントローラのルートにContactListViewControllerを置いてナビゲーションコントーローラのビューを表示するように修正します。

え?何かの丸写しじゃんって?そうですとも、これはほぼ自分のための備忘録のような感じに
なっちゃってますけど、。。



変更箇所は2行のみ、一つはコメントアウトして、その代わりに新しい宣言を書きます。
これはContactListViewControllerではなく、UINavigationControllerをメンバー変数として持つように変更してます。


#import < UIKit/UIKit.h>
#import "ContactListViewController.h"

@interface TableViewSampleAppDelegate : NSObject {
UIWindow *window;
// ContactListViewController *viewController; ←これコメントアウト
UINavigationController *navigationController; //代わりにこれ追加ね
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end


おつぎは、
TableViewSampleAppDelegate.h
です。applicationメソッドに以前は、

viewController = [[ContactListViewController alloc]initWithStyle:UITableViewStyleGrouped];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;

とプログラミングされていましたが、以下の様に変更します。

ContactListViewController* viewController = [[ContactListViewController alloc] initWithStyle:UITableViewStyleGrouped];
navigationController = [[UINavigationController alloc] initWithRootViewController:[viewController autorelease]];
[window addSubview:navigationController.view];
[window makeKeyAndVisible];

で、ちゃんと解放するように設定します。

- (void)dealloc {
//[viewController release];
[navigationController release];
[window release];
[super dealloc];
}



ここで一度実行してみましょ。
エラーで失敗しませんかね。

成功すると以下の様にがめん上にナビゲーションバーらしきものができているはずなんですけど、
どうでっかね??

$無知の状態からiPhoneアプリ開発に挑んでみる-9-22-1

今日は眠すぎるんで、きょうはこのへんで!!


にほんブログ村 携帯ブログ iPhoneへ
にほんブログ村
 > 次のテーマ テーブルをつくっていこう。
 > テーブルのデータを管理するクラスを作ってみる
 > テーブルビューのコントローラーを作ってみる。
 > ついにテーブルの表示完成!
 > テーブルをいじくる。
 > テーブルを本当にいじくる
 > テーブルを本当に実装を始めるよ。
 > テーブルを改造しましょ。(★この記事★)
 > テーブル改造のつづきやけど。。
 > テーブルのセルに電話番号を追加してみる。
 > モード切り替え用ボタンの追加
 > セル(データ)の削除処理と並び替え!
 > テーブルいじくりも大詰め?
 
さて、今日からテーブルをいじくるために必要なプログラミングを行っていきますよ。

まず、PersonalDataManager.hに以下のように、
データを移動させるメソッドと削除するメソッドを宣言します。

無知の状態からiPhoneアプリ開発に挑んでみる-8-19-1

コードはこう

- (BOOL)moveFromIndex:(NSUInteger)fromIndex toIndex:(NSUInteger)toIndex;
- (BOOL)removeAtIndex:(NSUInteger)index;


つづいて
PersonalDataManager.mね。


宣言した二つのメソッドの中身を実装します。
最後の@endの手前に記述しましょう。

- (BOOL)moveFromIndex:(NSUInteger)fromIndex toIndex:(NSUInteger)toIndex {
PersonalData* moveData = [personalDataList objectAtIndex:fromIndex];

if (fromIndex < toIndex) {
[personalDataList insertObject:moveData atIndex:toIndex+1];
[personalDataList removeObjectAtIndex:fromIndex];
}
else if(fromIndex > toIndex) {
[personalDataList insertObject:moveData atIndex:toIndex];
[personalDataList removeObjectAtIndex:fromIndex+1];
}
else {
return FALSE;
}

return TRUE;
}

- (BOOL)removeAtIndex:(NSUInteger)index {
if (index < 0 || index > [personalDataList count]) {
return FALSE;
}

[personalDataList removeObjectAtIndex:index];

return TRUE;
}




実行してエラーが出ない事を確認しましょ。
実際これだけあっても、なんもおこりません。

次回はセルに対する操作を許可する編集モードと通常モードの切替えできる機能を追加しましょうかね。

今日はなんもすすんでないやん!とおっしゃる皆さん。
このブログを見ていただいて感謝です。ありがとうございます。
だれかコメントくださいー。

にほんブログ村 携帯ブログ iPhoneへ
にほんブログ村

 > 次のテーマ テーブルをつくっていこう。
 > テーブルのデータを管理するクラスを作ってみる
 > テーブルビューのコントローラーを作ってみる。
 > ついにテーブルの表示完成!
 > テーブルをいじくる。
 > テーブルを本当にいじくる
 > テーブルを本当に実装を始めるよ。(★この記事★)
 > テーブルを改造しましょ。
 > テーブル改造のつづきやけど。。
 > テーブルのセルに電話番号を追加してみる。
 > モード切り替え用ボタンの追加
 > セル(データ)の削除処理と並び替え!
 > テーブルいじくりも大詰め?
 
さて、iPhoneアプリを開発(勉強)を進めてますが、

前回のテーブル作成は名前がテーブル(セル)に表示されただけでおもんなかったと思いますので、

今回はセルをしてみたいと思ってます。

大雑把にいうと、

1、データひとつひとつに住所を追加して、行が選択されたときにその情報をポップアップで表示する。
2、表示されているデータに対して並び替えができるようにする。
3、表示されているデータに対して削除ができるようにする。


これまでに作ってきた
TableViewSample01プロジェクトを使ってやっていきたいと思います。

でも、途中で戻せなくなるまで間違えて取り返しが付かなくなってらイヤなので、
このプロジェクトのコピーを忘れずにしといたほうが無難かもです。(;^_^A

では次回は、コードを書いていきますよ。

今日はこのへんで。

にほんブログ村 携帯ブログ iPhoneへ
にほんブログ村
 > 次のテーマ テーブルをつくっていこう。
 > テーブルのデータを管理するクラスを作ってみる
 > テーブルビューのコントローラーを作ってみる。
 > ついにテーブルの表示完成!
 > テーブルをいじくる。
 > テーブルを本当にいじくる(★この記事★)
 > テーブルを本当に実装を始めるよ。
 > テーブルを改造しましょ。
 > テーブル改造のつづきやけど。。
 > テーブルのセルに電話番号を追加してみる。
 > モード切り替え用ボタンの追加
 > セル(データ)の削除処理と並び替え!
 > テーブルいじくりも大詰め?