Customizing the UIPopoverController view background and border color

后端 未结 9 833
再見小時候
再見小時候 2021-02-05 11:00

Is it possible to change the border color, navigation bar style/color, and arrow style/color of a pop over view? If so, how? If some sample code is available, then that\'ll be g

相关标签:
9条回答
  • 2021-02-05 11:23

    iOS 7 onwards, you can change backgroundColor of UIPopoverController which affects the navigation background color as well as arrows of popover.

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

    Usage example:

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

    Note - As of now (iOS 7.0.3), in some cases (like set color using colorWithPatternImage:), the simulator doesn't honor the color but on device it works fine.

    0 讨论(0)
  • 2021-02-05 11:29

    The navigation bar and tool bar inside a popover are just a standard UINavigationBar and UIToolBar, I've had success in changing their appearance just as you would with a normal nav bar or tool bar. The border however is not easily customizable.

    0 讨论(0)
  • 2021-02-05 11:38

    From ios 5 onward you can do much just try this library https://github.com/ddebin/DDPopoverBackgroundView you can customise border tint color, bodrer width as well as arrow

    look at the documentation

    0 讨论(0)
  • 2021-02-05 11:38

    I try to trick it by customizing the viewcontroller inside the popover and then hiding the popover border using this code

    UIView * border = [[insideViewController.view.superview.superview.superview subviews] objectAtIndex:0];  
    border.hidden = YES;
    

    The app is actually still in development so I'm hoping other people will comment on this solution.

    0 讨论(0)
  • 2021-02-05 11:41

    You can use ElegantPopover cocoapod to accomplish some of that.

    0 讨论(0)
  • 2021-02-05 11:42

    Now in iOS 5, popoverBackgroundViewClass is available.

    0 讨论(0)
提交回复
热议问题