2011-01-19 4 views
3

私はiPhoneプログラミングの初心者です。私の最初のアプリはUITableViewControllerですが、少し実験したいと思います。iPhone UITableViewControllerカスタムレイアウト

レイアウト:

--------------------- 
Image  | Button  
--------------------- 
UICalendar 
--------------------- 
UITableView 
--------------------- 
Button  | Button 
--------------------- 

質問1:あなたが見ることができる として、私はいくつかの追加のUI elemntsを追加したいのアイデアは、このようになります。カスタムレイアウトを作成することです。私が見たすべてのチュートリアルでは、UITableViewControllerを単一のUITableView(コントローラに含まれる他のUI要素なし)として説明しています。 私の質問は、それはレイアウトの種類を持ってUITableViewControllerを拡張することが可能ですか?それを行う適切な方法は何ですか?

質問2: UITableViewControllerについて私はXIBファイルを使用しませんが、一部の人は行います。 UITableViewControllerを作成するときにXIBファイルを使用するのはなぜですか?メリットは何ですか?ベストプラクティスは何ですか?

UPDATE: 実際に私が考えているのは、UICalendar(UICalendarController)とUITableView(UITableViewController)の分離されたコントローラを持つことです。私はそれをどのように実装するのか分かりません。

Thx。

答えて

6

あなたがしようとしているものの種類のための標準的なアプローチは、UITableViewControllerをサブクラス化するか、UITableViewControllerに接続するためのインタフェースビューを定義するためにXIBファイルを使用するが、代わりにXIBでUIViewControllerを使用することではありませんファイルにはUITableViewが含まれています。

UIViewControllerサブクラスにUITableViewDataSourceUITableViewDelegateのプロトコルを実装する必要がありますが、これは難しくありません。

UITableViewControllerは多少脆く制限されたクラスですが、残念なことにUITableViewを使用する独自のクラスを作成するのは難しいことではありませんが、正しいアプローチがUITableViewControllerで始まらないというのは多くの人にとって直感的ではありません。

+0

私が欲しいものに近い:)。私はプロトコルの例をして、それは働いた。 UITableViewの機能を新しいコントローラに分離しようとすると、私はそれを理解できません。それは可能ですか?私の更新メッセージを見てください。 – xpepermint

0

iPhoneでは、プログラミングによってすべてのコントロールを作成することも、XIBを使用することもできます。 XIBは、コントロールのネイティブ機能を使用して作業を単純化します。コントロールとその機能を拡張する場合は、カスタムクラスを作成して手動で作成します。

UITableViewには、1つのセルが表示されますか?そうでなければ、カスタムセルを作成してテーブルビューに追加することができます。カスタムテーブルビューセルを作成するには、クラスをUITableViewCellから拡張して実装する必要があります。

+0

私のケースやUIViewControllerなどにUITableViewControllerを使用する必要がありますか? – xpepermint

関連する問題