我在我的应用程序委托(delegate)中使用以下 UINavigation 委托(delegate)方法来更新我所有 View Controller 的导航栏背景和文本颜色(这样我就不必为堆栈中的每个 View Controller 重复代码。
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
除了“更多”选项卡外,我在应用程序中的所有选项卡都运行良好。我现在在“更多选项卡”中有多个 View Controller
是否也可以为“更多”选项卡调用 UINavigation 委托(delegate)方法?否则,在不为所有 View Controller 重复代码的情况下更改更多选项卡中所有 View Controller 的导航栏和文本颜色的最佳替代方法是什么。
最佳答案
我需要多次做同样的事情。我的解决方案是创建一个继承 UIViewController 的父类(super class),然后在已加载的 View 中自定义导航栏。然后用你所有的 View Controller 继承这个父类(super class)。
此解决方案将您所有的自定义导航栏更改放在一个位置,因此如果您想要更改颜色或添加图像,您只需在那个父类(super class)中进行。这是继承和代码重用的一个很好的用途,可以使您的类没有重复的代码。
关于objective-c - 如何以最有效的方式更改 'more' 选项卡的导航栏背景和文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082048/