2012-01-21 3 views
0

テーブルビューを含むビューコントローラ(UIViewControllerではUITableViewControllerから派生しています)があります。コントローラーとビューは両方とも同じxib内にあります。インターフェイスビルダーのテーブルビューの下にある画面の下部に固定されたセグメント化されたコントロールを追加する方法

画面の下部に表示するセグメント化されたコントロールを追加したいと思っています。テーブルビューはその上の残りのスペースを占めています。 しかしIBでは、ビューコントローラの直接の子としてセグメント化されたコントロールを置くことはできません。テーブルビューの子として置くことができます。つまり、階層は次のようになります。

ナビゲーションコントローラ ナビゲーションバー メインビューコントローラ - アイテム テーブルビュー セグメント化されたコントロール - 第一、第二 ナビゲーションアイテム - アイテム バーボタンアイテム - スタイル

私はこのようにそれを実行した場合、セグメント化されたコントロールが浮上してダウンする方法に応じて、テーブルビューには多くのアイテムがあります。

画面の下部にロックされるようにするにはどうすればよいですか?

更新: 私はもっと近くにいます - メインビューコントローラの子としてビューを追加し、それをテーブルビューとセグメントコントロールの子にしましたが、今度はシミュレータを実行するとコントロールの上半分しか表示されませんIBではすべてがうまく見えますが、なぜ相違がありますか?

出発点として私はAppleのサンプルプロジェクトの1つを使用していますが、なぜメインビューはありませんでしたか?いつあなたとあなたはいつメインビューを持ってはいけないのですか?

おかげ

答えて

-1

はちょうどあなたのXIBを開いて、あなたの視野を拡大し、ビューの下にテーブルビューコントロールをドラッグしても、ビューの下でセグメント化されたコントロールをドラッグしないtablviewで、これは動作します。あなたはあなたの中に両方の枠を設定する必要が

tblview.frame = CGRectMake(0, 0, 320, 400); 
sgmntcontrol.frame = CGRectMake(50, 405,150 ,50)]; 
+0

を右のviewDidLoadだ。つまり、私は近いだ、上記の私の編集を参照してください。 – Gruntcakes

+0

ありがとう、私はそれをこのように動作させることができます。しかし、すべてがxibにあるので、なぜコードを明示的にコードに設定する必要がありますか? IBから自動的に寸法と位置を取得することはできませんか? – Gruntcakes

+0

あなたのために働いた場合は、この回答に合格とマークしてください。私の考えによれば、この問題は内部設定のために発生することがありました。そのため、完璧な設計のためにフレームを設定する必要があります。 –

関連する問題