私はかなり新しく、ボタンで新しいビューを開く基本的なマルチビューアプリケーションを作っています。サブビューをクリアすると表示がうまくいかない
EDIT:新しい簡単なアプリケーションを作成したときに同じ問題が発生しました。サブビューを削除する必要があります。私は2つのUIViewController
:MainViewController
とSecondViewController
という別の簡単なバージョンのアプリを作った。 MainView
にはツールバーと赤い背景があり、SecondView
には薄い青色の背景があります。ツールバーのボタンは、次のコードですべてのサブビューを削除します(これが問題だと思います)。サブビューとしてSecondView
を追加します。
for(UIView *view in self.view.subviews){
[view removeFromSuperview];
}
これを実行すると、同様の混合問題が発生します(下記参照)。このコードがなければ、サブビューが正しく表示されます。何が起こっている、私はそれをトリガせずにすべてのサブビューを削除する方法はありますか?私の目標は、それぞれが新しいビューを開き、他のすべてのビューを閉じるボタンをいくつか持つことです。
オリジナルのポスト:
アプリデリゲートから、私はappView
ペン先に取り付けた、ルートUIViewController
appViewController
を持っています。このビューは黄色の背景に過ぎず、表示するためのものではありません。 appViewController
の中には、ロード時にRootViewController
サブビューが追加され、UIView
を赤い背景と複数の番号付きボタンで制御します。両方のビューには、風景方向のみを受け入れるように書かれた-(BOOL) shouldAutorotateToInterfaceOrientation
があります。
しかし、アプリケーションを実行すると、RootViewの赤い背景がボタンで表示されるのではなく、画面の上半分が赤色になり、下半分がボタンで黄色になります。UIViews
は、 。さらに、ボタンは機能せず、青色のボタンが押されたグラフィック効果を表示しない。何が起こっていますか?
EDIT:以下は、appViewController
であるRootViewController
のソースコード:暗所で
- (void)viewDidLoad {
rootViewController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:nil];
[self.view addSubview:rootViewController.view];
self.rootViewController.appViewController = self;
}
'RootViewController'サブクラスを追加するために使用するソースコードを投稿できますか? – pgb
遅れて申し訳ありません。ソースコードが今投稿されました。 – Tas
そのコードは実際にコントローラのビューを追加していることを示していませんが、UIViewControllerを使用する方法ではない複数のUIViewControllerクラスのビューを入れ子にしているようです。 http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/AboutViewControllers/AboutViewControllers.html#//apple_ref/doc/uid/TP40007457-CH112-SW12 – Jonah