moreNavigationController在UITabBarController中始终为零

问题描述:

我试图自定义我的UITabBarController中的“更多”按钮的标题,因为我正在使用其他语言的应用程序。我分类UITabBarController能够访问tabBarController属性。不幸的是,它总是nil我把它放在viewDidLoadviewDidAppear(_)。有关我如何编辑它的任何想法?moreNavigationController在UITabBarController中始终为零

import UIKit 

class ControllerVC: UITabBarController { 

let uiManager = UIManager() 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 

override func viewDidAppear(_ animated: Bool) { 
    if let tabBarItem = tabBarController?.moreNavigationController.tabBarItem { 
     let deselectedImage = tabBarItem.image 
     let selectedImage = tabBarItem.selectedImage 
     tabBarController!.moreNavigationController.tabBarItem = UITabBarItem(title: "بیشتر", image: deselectedImage, selectedImage: selectedImage) 
    } else { 
     uiManager.showActivityIndicator(self) 
    } 
} 

} 
+0

@DivyeshGondaliya这是没有必要的。 – rmaddy

的问题不在于moreNavigationController。问题出在tabBarController。你的课是UITabBarController。标签栏控制器的tabBarController属性始终为nil

只要做到:

let tabBarItem = moreNavigationController.tabBarItem 
let deselectedImage = tabBarItem.image 
let selectedImage = tabBarItem.selectedImage 
moreNavigationController.tabBarItem = UITabBarItem(title: "بیشتر", image: deselectedImage, selectedImage: selectedImage) 
+0

感谢您的帮助。现在它进入if语句。唯一的问题是我所做的更改不会生效。我写'moreNavigationController.tabBarItem = UITabBarItem(标题:“بیشتر”,图像:deselectedImage,selectedImage:selectedImage)',但它不起作用。显示标签为“更多”的普通简单More按钮。 –

+0

这是与原始问题分开的问题。但可能只是您无法更改“更多”控制器的选项卡。如果您的应用已正确本地化,它应该会自动更改。 – rmaddy