2

私はUIViewController2つの部分を持っています:

  • aUIView

  • 複数のドロップダウン メニューが水平に配置され、上部にサムネイル画像があるバー

2番目の部分は少し複雑なので、私はそれを決定しましたUIViewControllerが、今はいくつかの懸念があります:

  • ドロップダウン メニューがあるため、メニューはバーの境界を超えます。どうすれば対処できますか?

  • UIViewControllerの中に aを入れるのは良い方法UIViewControllerですか?

  • ドロップダウンメニューを実装するにはどうすればよいですか? 私の知る限り、IOS にはドロップダウン メニューがありません。

4

3 に答える 3

1

別のコントローラー内でコントローラーを使用するには、カスタム コンテナー ビュー コントローラーを使用します。

  • iOS 用ビュー コントローラー プログラミング ガイドの「カスタム コンテナー ビュー コントローラーの作成」セクションを参照してください。

  • UIViewController クラス リファレンスの適切なコンテナ コントローラの実装セクションも参照してください。

  • WWDC 2011 のビデオ、Implementing UIViewController Containmentも参照してください。

  • iOS 6 では、埋め込みセグエを自動的に採用するコンテナー ビューを使用してストーリーボードをセットアップできるため、ストーリーボードをaddChildViewController使用している場合に明示的に呼び出す必要がなくなります。Interface Builder の「コンテナー ビュー」オブジェクトを確認してください。子コントローラーを変更する場合は、上記のリンクで参照されている API を使用する必要がありますが、最初の子の構成については、iOS 6 の Interface Builder で設定できます。

于 2013-01-08T21:53:08.447 に答える
0

この場合、コントローラー コンテインメントを設定するのが正しい方法です。唯一の制限は、iOS 5 以降で機能することです。

ここで、あなたがしなければならないこと:

// add as child VC
[self addChildViewController:_barViewController];

// add it to container view, calls willMoveToParentViewController for us
[_containerView addSubview:_barViewController.view];

// notify it that move is done
[_barViewController didMoveToParentViewController:self];

ここでは、追加情報Containing ViewControllersを見つけることができます。明らかに、Apple doc はあなたの友達です。さらに、「uiviewcontroller 封じ込め」を検索すると、たくさんの情報が見つかります。

UIViewControlleriOS 5 が最小ではないデバイスをアプリでターゲットにする必要がある場合は、1 つのビューと 2 つの異なるビュー に依存する必要があります。

于 2013-01-08T21:53:58.430 に答える
0

ドロップダウン メニューについては、私の意見では、タッチ インターフェースではうまく機能しません。UISegmentedControlクラスのインスタンスなど、いくつかの代替手段があります。ここでは、セグメント化されたコントロールに関する Apple UI 設計ガイドラインを読むことができます。 -CH13-SW1 . 希望する UI 機能についてもう少し説明していただければ、ユーザー エクスペリエンスの観点から、より良い代替案を提供できます。

どうしてもドロップダウン メニューが必要な場合は、サード パーティ製のコントロール ライブラリを利用できます。例: http://www.cocoacontrols.com/

于 2013-01-08T22:05:27.957 に答える