1

ビュー コントローラーがあり、その上で UITabBar をホストしたいと考えています。ユーザーが別のタブ項目をクリックすると、別のビューを表示したいと考えています。私はこれを機能させていますが、維持するのは難しいです。

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

ただし、xib は惨事のように見えます。約 4 つのビューが重ねられているからです。簡単にするために、View の InterfaceBuilder で hidden プロパティを true に設定し、一部を完全に非表示にして、自分が何をしているかを簡単に確認できるようにします。ただし、InterfaceBuilder は単にビューの不透明度を 30% 程度に変更するだけなので、すべてのレイヤーが互いに重なって表示されます。

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

ありがとう

4

3 に答える 3

4

UITabBar実際には、インターフェイスの「ルート」コンテナーである必要があり、ナビゲーション コントローラーやビューが含まれている必要があります。

Interface Builder で UI 自体を処理するのが難しくなった場合、最善の方法は、Nib ウィンドウのアウトライン ビューに切り替えて (「View Mode」ツールバー項目を使用)、Nib ウィンドウの階層内の要素にアクセスすることです。 .

于 2009-07-13T07:14:14.777 に答える
0

私は同じ問題を抱えていますが、非表示チェックボックスを使用する代わりに、「非表示」にしたいコントロールのサイズインスペクタに移動し、X 値の前に 99 を置きます。これで画面の外に移動し、99 を削除することで元の場所に簡単に戻すことができます。理想的ではありませんが、機能します...作業が終わったら忘れずに元に戻すことを忘れないでください。

于 2010-07-28T20:02:38.063 に答える
0

一般的に、nib ファイル内にあらゆる種類の非表示のビューを作成することは嫌いです。これは、物事が非常に煩雑になり、意図しないものをうっかりクリック アンド ドラッグしてしまうことが容易になるためです。

その場合の代わりに、非表示のビューを別々のニブに分割し、コントローラーにロードして、必要に応じてそれらをビューに配置します。このアプローチのもう 1 つの利点は、必要なときにのみビューをロードすることです。これにより、ビュー全体が軽量になります。

于 2010-07-25T13:35:40.327 に答える