objective-c - 如何以最有效的方式更改 'more' 选项卡的导航栏背景和文本颜色?

标签 objective-c ios uinavigationbar tabbar

我在我的应用程序委托(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/

相关文章:

ios - UITableviewCell 选择并移动到另一个 View

ios - 导航栏中的 UINavigationItem 位置在方向上没有改变

ios - 在 iOS 11 上从右到左显示大标题

objective-c - 保护我的代码免受来自完成 block 的僵尸

ios - 如何在 iOS 14 的内联样式日期选择器顶部设置时间选择器?

objective-c - 应用沙盒相关

ios - UITableViewCell 框架没有根据给定的宽度和高度

javascript - 如何使用 Javascript 为 iOS 实现自动完成?

iphone - 如何在其中键入时调整 UITextView 的大小?

ios - 如何退出导航 Controller ?