0

プライマリナビゲーション用のメインのTabBarControllerがあります。1つのタブの下に、上部に別のTabBarがあるコントローラーがあります。可能であれば、このTabBarを使用して、同じコントローラー内で2つのビューを切り替えられるようにしたいと思います。

私のアイデアは、ストーリーボードにScrollViewとTableViewを重ねて配置し、適切なタブが選択されたときに2つのメインビューでsetHidden:を使用することです(1つを非表示にし、もう1つを表示します)。

問題は、ストーリーボードでは、うまくプレイさせることができないということです。1つのビューを配置しようとすると、常にその背後にあるビューの子になります。たとえば、ScrollViewを適切に配置しましたが、TableViewを所定の位置に移動すると、TableViewはScrollViewの子になります。したがって、ScrollViewを非表示にすると、TableViewを再表示できなくなります。

ストーリーボードの左側にあるシーンテーブルの下で、ScrollViewまたはTableViewがもう一方の子(正しい)になることなく、ビューを両方ともメインビューの子(正しい)に配置できます。しかし、私がこれを行うときはいつでも、私が行ったポジショニングは失われ、物事はすべて間違って浮かんでいます。

たぶん、私はこのビューの変更について悪い方法で行っているのでしょうか、それともストーリーボードをうまく再生させる方法はありますか?

4

1 に答える 1

0

私があなたを正しく理解しているなら、あなたは次のことを望んでいます:

  • TabBarController A - 主なナビゲーションで、A1、A2、A3 の 3 つのタブがあるとします。
  • TabBarController B - プライマリ ナビゲーションのタブ (例: A3) にネストされ、2 つのタブ B1、B2 があります。
  • B1 - scrollView
  • B2 - テーブルビュー

これを行うには、非表示に設定する必要はありません。TabBarController A と同じ方法で、TabBarController B を使用してビューを表示するだけです。

以下のスクリーンショットは、ストーリーボードのレイアウトを示しています。

注意 - ストーリーボードで TableViewController を TabBarController にリンクするには、TabBarController から TableViewController にコントロール アンド ドラッグし、ポップアップ メニューから [Relationship segue - view controllers] を選択します。

ここに画像の説明を入力

于 2013-03-05T16:54:00.027 に答える