0

縦向きビューと横向きビューの xib が 1 つずつあります。次のように xib をローテーションで変更しています。

[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@_landscape", NSStringFromClass([self class])]
  owner: self
  options: nil];

正常に動作していますが、現在のビューで 1 つのビューをサブビューとして開くと、そのビューは消えます。たとえば、任意のボタンをクリックすると、現在のビューに 1 つのビュー (ポップオーバーなど) を追加していますが、回転サブビューではそれが消えます。この問題を解決するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

3 に答える 3

0

そのビューのプロパティを作成する必要があり、回転を実行するたびに、のaddSubview関数を使用して、残りのビューの上に同じビューを再追加する必要がありますUIView

于 2013-06-05T05:30:28.357 に答える
0

これは良いアプローチではないと思います。UIViewControllerと一緒に取る必要がありXIBます。2 つのビュー (1 つはランドスケープ用、もう 1 つはポートレート用outlets) を のビューの外側ViewControllerで、回転時に取得します。

yourCurrentView = landscapeView/portraitView;
 [self.view addSubview:yourCurrentView];

[self.view sendSubviewToBack:yourCurrentView];//self.viewに動的に追加されたビューが一番上に残るため、設定します。追加されたビューは常にすべてのモードで表示されます。

お役に立てば幸いです。

于 2013-06-05T07:20:31.623 に答える