presentModalViewControllerを使用して、他のいくつかのビューの上にUIViewを表示しようとしています。controller1からpresentModalViewControllerを呼び出します。controller2からのビューを表示しようとしています。
controller1から、controller2を次のように呼び出します。
- (void) someButtonPressed: (id)sender
{
MyController* controller2 = [ [ MyController alloc ] initWithNibName:nil bundle:nil ];
[self presentModalViewController:controller2 animated:YES];
//[self presentViewController:controller2 animated:NO completion:nil ];
}
次に、controller2でこれを行います。
- (void)viewDidLoad
{
[super viewDidLoad];
if (YES){
UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView* master = (UIView*)[keyWindow viewWithTag:100]; // Master is the entire app, but always oriented so top left corner is 0,0.
UIView* newView = [ [ UIView alloc ] initWithFrame:CGRectMake(100, 100, 400, 400) ];
[self setView:newView ];
self.view.backgroundColor = [ UIColor clearColor ];
}
}
問題は、最初のコントローラーのコンテンツがどれも透けて見えないことです。以前のビューを表示したままにします。2番目のコントローラーからのビューを非表示にする方法はありますか?これを実行する理由は、2番目のコントローラー/ビューに、コントローラー1によって管理されるビューに到達することなく、すべてのタッチイベントをキャッチする透明なレイヤーを表示するためです。
どうもありがとう。