2009-07-13 4 views
1

私はビューコントローラを持っており、その上にUITabBarをホストしたいと考えています。ユーザーが別のタブ項目をクリックすると、別のビューを表示したい。私はこれが働いているが、維持するのは難しい。UITabBar - あまりにも面倒ですか?

InterfaceBuilderでは、すべてのタブビューを作成して非表示にしました。私のプロジェクトでは、ユーザーがタブ項目の1つをクリックすると、リンクされたビューのhiddenプロパティをfalseに設定して表示します。

私はお互いの上に約4つのビューが重ねられているので、xibは災害のように見えます。物事を簡単にするために、私は、ビューのためにInterfaceBuilderでhiddenプロパティをtrueに設定しました。 InterfaceBuilderは、ビューの不透明度を30%のように変更するだけです。そのため、すべてのレイヤーが重ねて表示されます。

これを行うより良い方法があるのだろうかと思います。可能であれば、このUIのすべてのビューをプログラムで生成したくありません。

おかげ

答えて

4

UITabBar本当にあなたのインターフェイスのための「ルート」コンテナであるべきであり、それは、ナビゲーションコントローラおよび/またはビューが含まれている必要があります。

Interface BuilderでUI自体を扱うことが困難になったときには、Nibウィンドウのアウトラインビューに切り替えることをおすすめします(「表示モード」ツールバー項目を使用)。 Nibウィンドウの階層。

+0

+1複雑さの拡大に対応するために、アウトラインビューが最も近いIBです。 リッチで*ダイナミックなコンテンツがたくさんある非常に複雑なUIがある場合は、TTStyledTextとTTStyleSheetのメカニズムについてはThree20を検討することをおすすめします。 –

0

私は、大雑把なものが得られ、意図しないものを意図せずにクリックしてドラッグすることが非常に簡単であるため、nibファイル内のすべての種類の隠しビューを作成することは一般的に嫌です。

私はそのインスタンスではなく、隠れたビューを別々のペン先に分割し、コントローラにロードし、必要に応じてビューに配置させます。このアプローチのもう一つの利点は、ビューが必要なときにのみビューをロードすることで、ビュー全体を軽量化します。

0

私は同じ問題を抱えていますが、隠しチェックボックスを使用する代わりに、私は "隠す"コントロールのサイズインスペクタを押してから、X値の前に99を入れます。これは画面から外し、99を取り除くことで元の位置に戻すのは簡単です。理想的ではありませんが、機能します...完了したら元に戻すことを忘れないでください。

関連する問題