簡體   English   中英

選擇 UITabBar 項目時打開另一個應用程序

[英]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://"]]; 
    } 
}

沒有看到你的代碼很難給出一個好的答案,但我認為如果你將打開另一個應用程序的代碼從viewDidLoadviewWillAppearviewDidAppear ,它可能會起作用。

viewDidLoad在第一次加載視圖時調用一次。 然后,視圖保留在內存中,當您再次點擊標簽欄項目時,它不會再次加載,因為它已經在那里了。 聽起來您每次出現視圖時都想這樣做,因此viewWillAppearviewDidAppear似乎更適合您的需求。

此外,可能更好的解決方案是實現UITabBarControllerDelegate並實現tabBarController:shouldSelectViewController:方法來檢查將選擇哪個 viewController 並從那里打開其他應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM