【问题标题】:How to use UIPopoverBackgroundView to present a transparent popover in iOS 6如何在 iOS 6 中使用 UIPopoverBackgroundView 呈现透明弹出框
【发布时间】:2013-03-30 09:48:07
【问题描述】:

我在 iOS 6 中使用UIPopoverController 来呈现UITableViewController

我正在尝试使此弹出框半透明,以便能够显示覆盖的视图。除此之外,我想要一个带有默认箭头等的标准弹出框控制器。

从 iOS 5 开始,可以使用 UIPopoverBackgroundView 定义自定义弹出背景视图。 但是,我正在努力正确设置背景。我用来设置背景视图的代码如下所示。我想仅设置 alpha 值,并将其他属性设置为其默认值。

此外,我需要如何配置显示在弹出框内的表格视图控制器,以使其视图(及其所有子视图,文本除外)也具有透明度。

谢谢!

configPopover.popoverBackgroundViewClass = [TransparentPopoverBackGroundView class];

TransparentPopoverBackGroundView.m:

#import "TransparentPopoverBackGroundView.h"

@implementation TransparentPopoverBackGroundView

@synthesize arrowOffset;
@synthesize arrowDirection;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.alpha = 0.4;
    }
    return self;
}

+ (UIEdgeInsets)contentViewInsets {
    return UIEdgeInsetsMake(5, 5, 5, 5);
}

+ (CGFloat)arrowHeight{
    return 10.0;
}

+ (CGFloat)arrowBase{
    return 10.0;
}

【问题讨论】:

    标签: ios objective-c uiview ios6 uipopovercontroller


    【解决方案1】:

    试试这个link

    设置

    #define DEFAULT_TINT_COLOR [UIColor blackColor];

    #define DEFAULT_TINT_COLOR [UIColor clearColor];
    

    【讨论】:

    • 你想隐藏你的tableview还是将背景颜色设置为透明。
    • 用于隐藏:yourpopovercontroller.tableview.alpha=0;设置背景:yourpopovercontroller.tableview.backgroundcolor=[UIColor clearcolor];
    • 抱歉含糊不清,我希望弹出窗口中显示的表格视图的背景为半透明(alpha = 0.5)。
    • 很遗憾DDPoverBackgroundView 的源代码不支持 ARC。我无法使用[UIColor clearColor] 直接访问我的tableView。还有其他想法吗? :-)
    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 2012-02-05
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 2023-03-28
    • 2011-09-19
    相关资源
    最近更新 更多