UIModalPresentationPopover底角不应显示背景颜色

时间:2015-11-05 19:47:30

标签: objective-c uipopovercontroller cornerradius

使用弹出控制器时遇到问题。视图控制器被呈现为模态弹出窗口。锚点的箭头需要为红色,因此我设置了背景颜色:

vc.modalPresentationStyle = UIModalPresentationPopover;
vc.popoverPresentationController.backgroundColor = [UIColor primaryColor];

弹出框的底角是背景颜色的红色。

编辑11/06

当vc设置为模态弹出窗口时,弹出窗口将自动舍入vc角,并显示弹出窗口背景。但它对vc的舍入与弹出的四舍五入并不匹配。

enter image description here

这是出乎意料的。我找不到任何暴露如何设置角半径的东西。我尝试将视图控制器的视角和集合视图的cornerRadius设置为0,但角落保持不变,并且popoverPresentationController仍然显示为红色。任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

结束UCLopoverBackgroundView的子类化以定位并绘制箭头并将其类分配给popoverPresentationController.popoverBackgroundViewClass。

答案 1 :(得分:0)

在UIPopoverBackgroundView的子类中

schema = StructType(
[
    StructField('PM',
        StructType([
            StructField('Pr', StringType(),True),
            StructField('Rd', StringType(),True)
    ])
    ),
    ])
df = sqlCtx.createDataFrame(data, schema)
print(df.PM.select(F.countDistinct("Pr")))

也许您可以找到更好的位置而不是layoutSubviews。