2013-11-05 167 views
2

在iOS7中,如何更改UIPopoverController中的导航栏背景/颜色?如何更改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); 
    } 

非常感谢

+1

重复: http://stackoverflow.com/questions/8490261/change-color-navigation-controller-in-a-popover – Jatin

+0

@Jatin,谢谢,我通过这个主题去这个线程之前。我想知道是否有一些简单的方法来做到这一点(在这个话题中,它太复杂了) – Jacky

+3

@Jacky其实这个问题可能更密切相关:http://stackoverflow.com/questions/19095195/ios7-navigatinbar- tintcolor-change-in-popover和顶级答案为我工作 – imnk

回答

7

的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 :)集色,模拟器不兑现颜色但在设备上它工作正常

+1

imnk的解决方案是正确的,我已经验证 – Jacky

相关问题