自定义UIPopoverController视图背景和边框颜色

时间:2011-05-12 06:59:52

标签: ios ipad popover

是否可以更改弹出视图的边框颜色,导航栏样式/颜色和箭头样式/颜色?如果是这样,怎么样?如果有一些示例代码可用,那就太棒了!

9 个答案:

答案 0 :(得分:42)

从iOS 7开始,您可以更改backgroundColor UIPopoverController @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];
    }

用法示例:

{{1}}

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

答案 1 :(得分:5)

现在在iOS 5中,popoverBackgroundViewClass可用。

答案 2 :(得分:5)

检查这个酷链接.....

对于iOS5,

http://thinkvitamin.com/code/ios/customizing-the-design-of-uipopovercontroller/

此致 阿伦。

答案 3 :(得分:2)

不幸的是,UIPopoverController无法自定义。您无法更改边框颜色,导航栏样式/颜色或箭头样式/颜色:How to customize / style a UIPopoverController

答案 4 :(得分:1)

从ios 5开始,您可以尝试使用此库https://github.com/ddebin/DDPopoverBackgroundView 你可以自定义边框色调颜色,bodrer宽度以及箭头

查看文档

答案 5 :(得分:0)

popover中的导航栏和工具栏只是一个标准的UINavigationBar和UIToolBar,我已经成功地改变了它们的外观,就像使用普通的导航栏或工具栏一样。然而,边界不容易定制。

答案 6 :(得分:0)

这里我为这个麻烦开发了一个很好的解决方案:

change color navigation controller in a popover

祝你好运!

答案 7 :(得分:0)

您可以使用ElegantPopover cocoapod来完成其中的一些操作。

答案 8 :(得分:-2)

我尝试通过自定义popover中的viewcontroller然后使用此代码隐藏popover边框来欺骗它

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

该应用程序实际上仍在开发中,所以我希望其他人会对此解决方案发表评论。