2011-07-01 15 views
0

1つのXIBファイルに2つのテーブルビューが必要ですが、それを行う方法はありますか?ライブラリへ1つのXIBに2つのテーブルビューを持つことはできますか?

+0

必要に応じて、1つのxibに150のテーブルビューを持つことができます。 Interface Builderでそれらを追加し続けるだけでうまくいきます。あなたはより具体的な質問をしなければならないでしょう:1つのxibで2つのテーブルビューを使って*何をしたいですか? – darvids0n

答えて

2

別のよりクリーンな方法は、2つの異なるUITableViewControllerをXIBに追加し、別のクラスに設定することです。

Two table view controllers

あなたのXIBは、次のようになります。テーブルビューのデータソースと代理人をFileの所有者に接続するのではなく、自分のコントローラーに接続します。

このようにすれば、コードはきれいで維持しやすくなります。後でそのテーブルを別のビューに移動したい場合は、IBを変更するだけで簡単に実行できます。

+0

このように1つのビューコントローラに2つのテーブルビューを追加するにはどうすればよいですか? – vburojevic

+0

決して分、それを見つけた、thx! :) – vburojevic

+0

私はあなたが言ったことをしましたが、何らかの理由で、私はアプリを起動するときにテーブルビューを見ることができません..../ – jsetting32

1

シンプル行くのtableViewを選択して、XIBにドロップすると、= 1 タグを設定し、あなたがタグによってまたはそのIVAR名で区別することができます= 2

セットタグXIBにdrob上の他のテーブルを取得します。

テーブルのデータソースメソッドとデリゲートでelse条件が満たされているようにしてください。特定の状況のた​​めにいずれかを非表示にすることもできます。

あなたの脳とロジックを使うことを意味します。

3

はい可能です。データソースとデリゲートメソッドでテーブルビューを区別するために、テーブルビュー名またはタグでチェックするだけで済みます。たとえば、numberofRowsInSectionデータソースメソッドの場合は、次のようにすることができます。

- (NSInteger)tableView:(UITableView *)tableview numberOfRowsInSection:(NSInteger)section  { 

if(tableview==firstTableview) 
{ 
    return 4; 
} 
else { 
    return 6; 
} 

} 

このように、すべてのデータソースとデリゲートメソッドについてチェックするだけで済みます。この助けを願っています。

-3

私は2つのテーブルを作成しました&マップ両方のテーブル&データソースを.xibファイルのファイル所有者に委譲します。この段階でエラーが発生しました。私はそれによって解決しました: テーブルを識別するためのヘッダーファイル(IBOUTLEt)の2つのテーブルビューを追加します。 1番目のテーブルのマップデータソース& .xibファイルを介した代理人 2番目のテーブルのiは.mファイルで記述します。 これは正常に実行されています.....

+0

人工的にNib(.xib)と.mを通して1つを人工的にマッピングする必要はありません。それぞれに「タグ」を設定するか、それぞれの個別の「IBOutlet」を設定して区別することができます。おそらくそうする他の方法の束。 – chadbag

関連する問題