2013-11-05 209 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

相關問題