0

私はiPadの開発に慣れていないので、ご容赦ください。単一の XIB ファイルを持つ iPad アプリケーションがあります。XIB 内には、縦向きと横向きの 2 つのビューがあります。

両方のビューにシンプルなボタンとテキスト フィールドがあります。

テキストフィールドを HelloWorld に更新する単一のメソッドを作成しました。

私の縦向きビューでは、FileOwner でテキストフィールドとボタンを配線しました。

アプリケーションを縦表示で実行すると、ボタンをタップすると、HelloWorld がテキスト ボックスに表示されます。

シミュレーターでデバイスを回転させると、新しい横向きビューが表示されますが、テキスト ボックスは空です。

したがって、このアプローチについていくつか質問があります。

  1. 横向きと縦向きのビューを開発するのが正しい方法である場合、XIB を 1 つだけ作成し、そこに両方の​​ビューを配置してから、プログラムでそれらに切り替えますか?
  2. これが正しければ、デバイスを回転させたときに両方のビュー間でデータを同期するにはどうすればよいですか?
4

2 に答える 2

0

someviewportriat.xib と someviewlandscape.xib という 2 つの別々の xib が使用されているのを見たことがありますが、どちらも同じコントローラーで初期化されています。これが正しいアプローチだとは言いませんが、これは私がいくつかのアプリで見たものです。

異なるビューで同じデータを持つ 2 つのテキスト フィールドについては、両方のビューがアクセスできるデータ オブジェクト/モデルを作成する必要があります。

于 2012-07-03T19:53:11.287 に答える
0

さらに調査を行った結果、この状況を処理するには 3 つの方法があることがわかりました。

  1. 自動回転と自動サイズ変更
  2. リフレーミング
  3. ビューの交換

ここでは Swapping Views 手法を使用しているため、Interface Builder で 2 つのビューを正確に希望どおりに定義できますが、これは、ビューごとに個別の IBOutlets を追跡する必要があることも意味します。ビュー内の要素が同じ IBAction を呼び出すことは確かに可能ですが、同じアウトレットを共有することはできないため、単一のビュー コントローラー内で 2 倍の UI ウィジェットを追跡する必要がある可能性があります。

于 2012-07-03T19:53:54.633 に答える