2016-06-30 17 views
0

FirstViewControllerにはSecondViewControllerをモーダルで表示し、SecondViewControllerには半透明の背景(70%の不透明度を持つ白色)があります。半透明の背景を持つモーダルViewControllerを提示する

私が直面している問題は、SecondViewControllerを表示すると、FirstViewControllerの表示が、SecondViewControllerのプレゼンテーションが終了するまで表示されます。

これは、UIの表示が遅くなるようにします。私が期待している動作は、SecondViewControllerが表示されるとただちに表示され、FirstViewControllerのビューは表示されないか、またはSecondViewControllerのビューが表示される前に徐々に消えます。

ご協力いただきますようお願い申し上げます。

私が提示するために使用するコードは次のとおりです。

SecondViewController *cntrlr = (SecondViewController *)[[UIStoryboard activationStoryboard] instantiateViewControllerWithIdentifier:@“UserVC”]; 
[cntrlr setModalPresentationStyle:UIModalPresentationPopover]; 
[self presentViewController:cntrlr animated:YES completion:nil]; 
+0

モデルのいくつかのコードを置くことができますか? –

+0

@yagneshdobariya私は質問を編集しました、plzは一見を持っています –

+0

plsは答えを見ています。 –

答えて

0
SecondViewController *cntrlr = (SecondViewController *)[[UIStoryboard activationStoryboard] instantiateViewControllerWithIdentifier:@“UserVC”]; 
[cntrlr setModalPresentationStyle:UIModalPresentationPopover]; 
self.view.alpha = 0.0f; 
[self.navigationController.navigationBar setHidden:YES]; 
[self presentViewController:cntrlr animated:YES completion:nil]; 

// Need to set FirstViewController alpha 1.0f after dismisViewControlle任意の「トリック」せずにこれを行う方法があるのiOS 3.2の後、R

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    self.view.alpha = 1.0f; 
    [self.navigationController.navigationBar setHidden:NO]; 
} 
+0

これはナビゲーションバーを考慮していません..まだナビゲーションバーが表示されています.. –

+0

Check updated答え –

+0

これは役に立ちましたか? –

0

- ドキュメントを参照してください。 modalPresentationStyleプロパティの場合あなたはviewControllerを提示するrootViewControllerを持っています。

viewController.view.backgroundColor = [UIColor clearColor]; 
rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext; 
[rootViewController presentModalViewController:viewController animated:YES]; 

この方法でのViewControllerの背景が透明になり、基礎となるrootViewControllerが表示されます:だから、ここで成功するためのコードです。

+0

私が望むのは、根底にあるrootViewControllerが表示されないようにすることです。これは、私がviewcontrollerをモーダルに提示するとすぐに消えるはずです。現在、基になるコントローラは、提示されたViewControllerの後ろに表示されます。 –

+0

http://stackoverflow.com/questions/27598846/present-a-modal-view -controller-with-transparent-backgroundこの@Hemangをチェックすると、あなたはビューアルファを設定します:0.7あなたは半透明になります –

関連する問題