2017-09-28 5 views
1

私は支払い後に自分のアプリにリダイレクトするURLスキームを実装しました。ウェブページが自分のアプリに直接戻ると、アプリは以上のナビゲーションコントローラを現在のビューで開く必要があります。 (それをモーダルで開きます)。アプリケーションデリゲートからナビゲーションコントロールを開く

どうfunc application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool -methodにAppDeleteからこれを行うには?

ありがとうございます!

+0

[ビューを使用しているアプリケーションデリゲートからビューコントローラを開く]の可能な複製(https://stackoverflow.com/questions/30592521/opening-view-controller-from-app-delegate-using-swift) – the4kman

+0

@ the4kmanこんにちは、異なったのは、私の現在の見解を超えてそれを開きたいということです。 –

+0

ターゲットとしているバージョンは何ですか? iOS 9よりも高いですか? –

答えて

1

要求を提出したビューコントローラが表示されるべきものである場合は私は別のアプローチを提案したいと思います。通知センターで、現在のView Controllerに通知するための通知を定義することをお勧めします。あなたのビューコントローラで

、あなたの通知を観察するaddObserver(forName:object:queue:using:)よう通知センターの方法のいずれかに電話をかけます。

post(name:object:)のようなメソッドをapplication(_:open:options:)のアプリケーションデリゲートの実装から呼び出すと、予想されるURLが取得されます。

2

ストーリーボードを使用しているのですか、またはデリゲートで手動でウィンドウを作成していますか?あなたは、ウィンドウへのアクセス権を持っている場合は、この操作を行うことができます。

window?.rootViewController?.present(yourViewController, animated: true, completion: nil) 

そうでなければ、それはすべてのケースで動作するはずです:

UIApplication.shared.keyWindow?.rootViewController?.present(yourViewController, animated: true, completion: nil) 
+0

こんにちは!私はストーリーボードを使用しています。モーダルな移行でこれを行うことは可能ですか? –

+0

モーダルトランジションです。 'yourViewControllerを実行することでカスタマイズすることができます。 modalTransitionStyle'または 'yourViewControllerをカスタマイズします。 modalPresentationStyle' –

関連する問題