如何在 iOS7 的 UIPopoverController 中更改导航栏背景/颜色?

Posted

技术标签:

【中文标题】如何在 iOS7 的 UIPopoverController 中更改导航栏背景/颜色?【英文标题】:How to change navigation bar background/color in UIPopoverController in iOS7? 【发布时间】:2013-11-05 02:46:51 【问题描述】:

如题,在 ios7 中,如何在 UIPopoverController 中更改导航栏背景/颜色?

我用的是下面的方式,但是不行

UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:packListViewController];
    [navController.navigationBar setBarTintColor:[UIColor blackColor]];

    if (_packListPickerPopover == nil) 
        _packListPickerPopover = [[UIPopoverController alloc] initWithContentViewController:navController];
        _packListPickerPopover.popoverContentSize = CGSizeMake(950, 345);
    

非常感谢

【问题讨论】:

重复:***.com/questions/8490261/… @Jatin,谢谢,我在这个帖子之前讨论了那个话题。而且我想知道是否有一些简单的方法可以做到这一点(在那个主题中,它太复杂了) @Jacky 实际上这个问题可能更密切相关:***.com/questions/19095195/… 和最佳答案对我有用 【参考方案1】:

iOS 7 以后,您可以使用UIPopoverControllerbackgroundColor 属性。

@property (nonatomic, copy) UIColor *backgroundColor NS_AVAILABLE_IOS(7_0);

用法示例:

    if ([self.popoverVC respondsToSelector:@selector(setBackgroundColor:)])    // Check to avoid app crash prior to iOS 7
        self.popoverVC.backgroundColor = [UIColor greenColor];
    

注意 - 截至目前 (iOS 7.0.3),在某些情况下(例如使用 colorWithPatternImage 设置颜色:),模拟器不支持颜色,但 在设备上可以使用很好

【讨论】:

以上是关于如何在 iOS7 的 UIPopoverController 中更改导航栏背景/颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS7 中更改 UISearchBar 的背景颜色

如何在 iOS7 的 UIPopoverController 中更改导航栏背景/颜色?

如何调整 UIViewControllerWrapperView 的方向(在 IOS7 中)?

ios7如何在后台运行进程

如何判断视图的视图控制器是不是在 iOS7 的状态栏下方扩展

如何在iOS7中更改UISearchBar的取消按钮的textColor?