[英]Open another app when selected a UITabBar Item
我對編程很陌生,我正在開發一個帶有 UITabBarController 的應用程序
我想在選擇一個選項卡欄項目時打開另一個應用程序。 我將代碼放在 viewDidLoad 中,當我啟動應用程序並第一次單擊 Tab Bar 項時,它運行良好,但之后當我再次單擊它而不重新啟動應用程序時,什么也沒有發生。
我曾嘗試使用 tabBarController didSelectViewController 和 tabBar didSelectItem 來嘗試解決此問題。 但似乎無法讓他們工作。 這是一個失敗的原因,還是我只是遺漏了什么,或者沒有把它們放在正確的位置?
代碼:
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (tabBarController.selectedIndex == 2) {
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"mswxmedia://"]];
}
}
沒有看到你的代碼很難給出一個好的答案,但我認為如果你將打開另一個應用程序的代碼從viewDidLoad
到viewWillAppear
或viewDidAppear
,它可能會起作用。
viewDidLoad
在第一次加載視圖時調用一次。 然后,視圖保留在內存中,當您再次點擊標簽欄項目時,它不會再次加載,因為它已經在那里了。 聽起來您每次出現視圖時都想這樣做,因此viewWillAppear
或viewDidAppear
似乎更適合您的需求。
此外,可能更好的解決方案是實現UITabBarControllerDelegate
並實現tabBarController:shouldSelectViewController:
方法來檢查將選擇哪個 viewController 並從那里打開其他應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.