加速度計によって報告された値に応じて、一連の異なるビューのいずれかを表示する必要があるアプリケーションがあります。Xcode、née Interface Builder の Storyboard Editor でビューを設定したいと思います。さらに、Xcode の新しい自動レイアウト ツールを使用したいと考えています。基本的に、これらのツールを使用すると、オブジェクト間の制約を定義でき、ランタイム システムがオブジェクトの行き先を把握します。
疑似コードで、私が望むものの簡単な例を次に示します。
if (accelerometer == toTheLeft) {
[topLevelView showSubview:leftView];
} else if (accelerometer == toTheRight) {
[topLevelView showSubview:rightView];
} else {
[topLevelView showSubview:centerView];
}
架空のshowSubview:
方法を実行するには、現在表示されている間違ったビューを実際に削除し、必要なビューを追加する必要があることはわかっていますが、それはここでのポイントではありません。
前に述べたように、 Storyboard Editor/Interace Builder を使用して、これらの各UIView
オブジェクト (つまり、leftView
、rightView
、および) をレイアウトしたいと思います。centerView
ただし、そうしようとすると、IB でさまざまなビューが積み重なって混乱することになります。私のView Controllerは最終的にそのビューからビューを追加および削除しますが、自動レイアウトの設定はこの方法ではかなり困難です.
最後に質問です。 1 つのビュー コントローラーのストーリーボード エディターで、重なり合うことが多い多くのビューを簡単に配置するより良い方法はありますか、それともプログラムですべてを設定する必要がありますか?
熱心な読者のための内省的なよくある質問: