【发布时间】:2014-01-15 16:54:28
【问题描述】:
我知道这个话题已经有一些话题了,但他们只是部分解决了我的问题。 我设法自定义了 moreNavigationController 导航栏颜色和标签颜色,请参见此处:
但是,如果您单击右侧的“编辑”,则自定义视图会显示一些问题。这是它目前的样子:
我想实现什么?
- 把完成的东西涂成白色
- 将导航栏涂成红色
- 为图标着色为红色
我已经通过
在我的 AppDelegate 中获得了对我的 UITabbarController 的引用 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
我还设置了这个 tabBarController 的委托,并且委托方法 - (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers 也被调用。但是从那里我无法为这三个控件着色。有人给我提示吗?
例如:
id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1];
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).barTintColor = [UIColor redColor];
还有这个:
- (void)tabBarController:(UITabBarController *)controller willBeginCustomizingViewControllers:(NSArray *)viewControllers {
UIView *editView = [controller.view.subviews objectAtIndex:1];
UINavigationBar *modalNavBar = [editView.subviews objectAtIndex:0];
modalNavBar.tintColor = [UIColor redColor];
}
对 barTintColor 没有任何作用或崩溃,因为它“无法在 UILabel 上设置 barTintColor”。但我不太确定如何检索不同的控件来设置它们的颜色值..
【问题讨论】:
标签: ios iphone objective-c uinavigationcontroller uitabbarcontroller