簡體   English   中英

在應用程序啟動時獲取在UITabBarController中選擇的選項卡的標題

[英]Get the title of the tab selected in UITabBarController at application launch

我正在嘗試在應用程序啟動時獲取選項卡標題。

當用戶更改標簽時,我可以這樣做來讀取tabBarItem.title:

func tabBarController(
        tabBarController: UITabBarController,
        didSelectViewController viewController: UIViewController) {

    UserActivity.trackScreen(name: viewController.tabBarItem.title)

}

初始選擇不會觸發此方法。 我在UITabVarControllerviewDidLoad方法中嘗試了這種方法。

override func viewDidLoad() {
    super.viewDidLoad()
    UserActivity.trackScreen(name: self.selectedItem.title) // I think this is not set yet, it is nil.
}

這是行不通的。

如何在應用啟動時獲取所選的標簽欄項或要選擇的標簽欄項?

在“選定”選項卡上執行操作是首次啟動的特殊情況,因為委托方法didSelectViewController不會觸發。

如果 (並且可能是一個很大的“ if”),您可以假定第一個選項卡是應用程序啟動時選擇的選項卡,則此代碼將適用於處理首次啟動的情況:

    if let vcs = self.viewControllers {
        var firstVC = vcs[0] as UIViewController
        UserActivity.trackScreen(name: firstVC.tabBarItem.title)
    }

這對我有用。 開放獲取更好的答案。

暫無
暫無

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

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