2009-07-31 17 views
1

チャット機能を組み合わせたアプリケーションを作成したいと思います。私の質問はこれです:どのようにUITableFieldは、常にUITableViewと同じビューで表示することができますか?常に表示されるUITableViewとUITextField

明白な解決策は、UITableViewとその下にUITextFieldを持つ独自のUIViewを作成することですが、UITableViewControllerは、接続された「ビュー」コンセントがUITableViewになることを期待しているため、私の計画を破壊する。

アイデアをお持ちの方?

答えて

1

UITableViewControllerを使用しないでください。結局のところ、それはフルスクリーンのUITableViewを備えた標準コントローラに過ぎません。自分で簡単にロールすることができます。

標準のUIViewControllerを使用して、UITableViewDelegateとUITableViewDataSourceプロトコルを実装します(必要なメソッドのみを実装する必要はありません)。次に、iVarとしてUITableViewを与え、デリゲートとdataSourceをselfに設定します。サイズは画面の半分になり、他のビューは他の部分になります。 IB全体をレイアウトするか、またはビュー+テーブルを手動で作成して配置することができます。

+0

あなたはiVarと言ったらIBOutletを意味しますか? :) –

+0

IBOutletでもかまいませんが、プログラムで作成して配置することもできます。おそらく、IBで微調整してIBOutletに割り当てたほうが簡単でしょう。 – Ramin

1

あなたのコントローラーとあなたのより小さい「ハーフビュー」の間に通常のビューを貼り付けることをお勧めします。それは通常、私のために物事をクリアしているか、少なくとも問題が何であるかを明らかにしています。

+0

私はそれを試みましたが、私はUITableViewControllerを使用できません。それは通常のビューを受け入れないだろう! –

0

あなたはのUITableViewControllerは、あなただけの< UITableViewDataSource、UITableViewDelegate >プロトコルで のUIViewControllerを使用することができるよりも、提供される機能を必要としない場合。 したがって、メインのviewControllerは任意のタイプのビューを受け入れます。

+0

私は新しいUIViewControllerでUITableViewControllerを含むことができ、デリゲートへの "通常の" UITVCメッセージを呼び出すことができれば素晴らしいことでした。しかし、メッセージがUITVDataSourceまたはUITVDelegateに属しているかどうかを判断する方法はありますか?それともハードコーディングする必要がありますか? –

関連する問題