[英]UITabBarController tab images and titles are not set until I tap them
我在viewDidLoad:
方法中設置了每個UIViewControllers的屬性title
, image
和selected-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哪個是哪個,那么擁有title
, image
和selected-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.