ユーザーは現在、Modally
で表示されたViewControllerにあります。UIAlertControllerアクションを使用してプログラムで埋め込みUIViewControllerにリンクする
UINavigationController
に埋め込まれたUIViewController
にプログラムでリンクするために、UIAlertViewControllerのOK
ボタンアクションをフックしようとしています。これは私の関連するコードの抜粋である
ユーザーが購入を復元する(または成功します)基本的に
func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
....// some code
case .Restored:
....// some code
let alert = UIAlertController(title: "Thank You!", message: "You now have FULL ad-free Access", preferredStyle: UIAlertControllerStyle.Alert)
let OKAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (action:UIAlertAction) in
// Goto Main Page:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("MainMainViewController");
self.navigationController?.presentViewController(vc, animated: true, completion: nil)
}
alert.addAction(OKAction)
self.presentViewController(alert, animated: true, completion: nil)
break;
default:
break;
}
、私はをクリックして、それらを希望しますOK
を別のViewController - MainMainViewcontroller
に送信します。
しかし、OK
ボタンをクリックしても何も起こりません。
どこが間違っていますか?事前の種類拝啓/ Mesdamesで
感謝;)
あなたのモーダル表示コントローラはナビゲーションコントローラに組み込まれていますか?そうでない場合、「navigationController」プロパティはnilに解決され、この点を超えて何も起こりません。プレゼンテーションラインをself.presentViewController(vc、animated:true、completed:nil)に編集してみてください。 –
MainMainViewControllerはUINavigationControllerの中にあるので、UINavigationControllerのインスタントを作成し、それを提示してください。 – Amit89
@ Amit89完璧!はい、NavControllerにViewControllerを保持してリンクする必要があるときに、埋め込みViewControllerにプログラム的にリンクしようとしていました。この週末はあなたに良さをあげることができます! –