1
タブが少ないTabBarControllerがあります。 各タブには、TableControllerとセルを持つViewControllerを持つNavigationControllerがあります。ユーザーがセルを押すと、彼はDetailedViewControllerを取得します。TabBarControllerでViewControllerを開いてプッシュ通知を処理する
私が取得したいのは、私のアプリがプッシュ通知を受け取ったときに、DetailedViewControllerを開くことです。
私は( あなたは私がDetailedViewControllerに渡したいのItemIDを持っていることを確認)OneSignal.initWithLaunchOptions(
launchOptions,
appId: API_KEY,
handleNotificationAction : {
(result) in
if additionalData!["itemID"] != nil {
let itemID = Int(additionalData!["itemID"] as! String)
if(itemID! > 0) {
if(self.window?.rootViewController?.presentedViewController != nil) {
self.window?.rootViewController?.presentedViewController?.dismiss(animated: true, completion: {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tabBarController = storyboard.instantiateViewController(withIdentifier: "MainTabBarController") as! UITabBarController
tabBarController.selectedIndex = 1
self.window?.rootViewController?.present(tabBarController, animated: true, completion: nil)
})
}
}
}
}
}
)
- このコードは、何らかの理由で動作していないようOneSignalとAppDelegateの私のdidFinishLaunchingWithOptionsが見えます使用
- I必要に応じない ViewControllerが必要なタブ
- TabBarControllerからDetailedViewControllerを開く方法がわかりません
- 私はいつもllyはDetailedViewControllerを取得します - 私はそれに戻るボタンを押すとどうなりますか?私はその場合ナビゲートする項目のリストを持つViewControllerはありませんでしたか?
- メモリをうまく使用するコードですか?
「rootViewController」を却下する理由はありますか?単にあなたの望むタブコントローラを表示してみませんか?そうすれば、少なくともあなたの後ろボタンが機能します(一度他のものが機能すれば) –
アプリケーションが実行中で通知を受け取るので、提示されたViewControllerを却下しないとどうなりますか?それは新しいものを開き、より多くの記憶を食べるでしょう - 間違っていますか? – moonvader
rootViewControllerを目的のView Controllerに変更するだけです。 – Mannopson