2012-04-23 8 views
7

既存のビューの上に私はしたい: a)ユーザに画面を表示 b)その後SMSを送信 c)別の画面をユーザに表示する。私は、これは当然の異なるVC、MFMessageComposeViewControllerを提示している以外、同じことをやっている)提示されたビューコントローラをプレゼンテーションコントローラとすることはできますか?

[[UIApplication sharedApplication].delegate.window.rootViewController presentViewController: firstController animated: NO completion:nil]; 

とbについては、a)私はこれをやっているために

。私が最初に使用した最初のビューコントローラを却下する必要が表示されるようにBのために、しかし

):

[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil]; 

これまでの作品、私は最初のビューは、SMSが表示されるビューを構成する参照その後、表示され見ることができます。 SMSは、私はSMSのコンビューに

[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil]; 

を解任するためにこれをやって送信されますが、私はpresentViewControllerを使用して、ユーザーに別の画面を提示しようとすると、その後何も起こりません。 私はこれがなぜあるべきなのかわからない、私が気づいていないことがあるのだろうか?

実際に画面SMSビューの前に、彼らは別のテキストを持っているので、ステップの最も簡単なシーケンスは次のようになり除いて、それは同じです後:

a)のテキスト「ABC」 B)とのビューコントローラを発表SMSコントローラを提示する c)SMSが送信されたときSMSコントローラを終了する d)IBOutletを使用して最初のビューコントローラのテキストを更新する e)最初のビューコントローラを終了する。

ただし、最初のビューコントローラを無効にしないと、SMSコントローラは表示されません。だから私の主な質問は、私は最初のビューコントローラの上にSMSコントローラを提示することができますか?

答えて

0

iOSでは、2つのモーダルビューを同時に開くことはできません。モーダルビューは一番上のビューになるように設計されています。

UIViewController *rvc = [UIApplication sharedApplication].delegate.window.rootViewController; 
[rvc dismissViewControllerAnimated:NO completion:^{ 
    [rvc presentViewController: secondController animated: NO completion:nil]; 
}]; 

または上に別の提示:あなたが他の閉じた後に存在する一つのいずれかでき

+3

「モーダル」今以上です私はpresentViewControllerを使用していて、presentModalViewControllerを使用していないことに注意してください。提示されたView Controllerが、プレゼンテーションView Controllerであることはできませんか? – Gruntcakes

8

(私が使用している)のiOS 5でただし

UIViewController *rvc = [UIApplication sharedApplication].delegate.window.rootViewController; 
UIViewController *pvc = rvc.presentedViewController; // you may need to loop through presentedViewControllers if you have more than one 
[pvc presentViewController: secondController animated: NO completion:nil]; 
+0

上記の2番目の方法では、Appstore ..から却下アプリの変更がありますか? – g212gs

+1

ビューコントローラを表示/非表示にしている場合、アプリストアが気になるのはなぜですか? –

+0

原因通常、私たちは一度に1つのviewControllerしか提示できません。 しかし、あなたのテクニックを使って私が望むものを達成することはできます。 – g212gs

関連する問題