簡體   English   中英

UITabBarController選項卡圖像和標題在我點擊它們之前不會設置

[英]UITabBarController tab images and titles are not set until I tap them

我在viewDidLoad:方法中設置了每個UIViewControllers的屬性titleimageselected-image 這些視圖控制器位於UITabBarController中,根據提供的文檔,如果設置這三個屬性,UITabBarController將自動顯示它們。

[self setTitle: @"title"];
[self.tabBarItem setImage: [UIImage imageNamed:@"image.png"]];
[self.tabBarItem setSelectedImage:[UIImage imageNamed:@"image-selected.png"]];

但問題是,在用戶點擊UITabBar中的相應選項卡之前,視圖控制器不會被實例化,所以直到沒有按下選項卡的那一刻,圖像或標題都不顯示。

是否有任何干凈和OOP方式使UITabBarController刷新並從其View控制器中提取數據? 如果必須手動告訴UITabBarController哪個是哪個,那么擁有titleimageselected-image屬性有什么意義呢?

在第一次實際需要加載視圖之前,不會調用viewDidLoad ,在這種情況下,當您切換到ViewController的選項卡時。

嘗試在ViewController的指定初始化程序中設置這些屬性。

如果您使用的是故事板,則應使用awakeFromNib。 像這樣:

- (void)awakeFromNib {
    [self setTitle:@"title"];
    [self.tabBarItem setImage:[UIImage imageNamed:@"image.png"]];
    [self.tabBarItem setSelectedImage:[UIImage imageNamed:@"image-selected.png"]];
}

暫無
暫無

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

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