如何去除UIPopoverController中“模糊”的阴影?

5

当UIPopoverController的视图出现时,我不想要那个下拉阴影。有没有办法去掉这个下拉阴影外观?

3个回答

12

虽然不是很直接,但自从iOS 5以来,您可以使用UIPopoverBackgroundView制作自己的自定义弹出窗口背景。

请参阅此问题的答案:使用UIPopoverBackgroundView类。它指向了一个很好的教程。

然后,在您的UIPopoverBackgroundView实现的initWithFrame中,您可以为投影使用clearColor。 对于我来说,使用偏移量和半径并不能奏效。

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {

        self.layer.shadowColor = [[UIColor clearColor] CGColor];
    }
    return self;
}

这就是答案。只要你的代码看起来好,运行正常,它就能通过审核。 - QED

0

您只需使用自定义的UIPopoverBackgroundView,并在其中实现此函数:

+ (BOOL)wantsDefaultContentAppearance {
    return NO;
}

不会被调用; - Konstantin

0

阴影是弹出视图层的属性。如果您可以访问该层,您可以将其阴影半径设置为0.0,阴影偏移量设置为{0.0, 0.0}。然而,看起来视图必须是弹出控制器的私有实例变量,因此没有简单的方法可以访问它。此外,如果您想通过应用商店分发此应用程序,则使用私有实例变量并更改标准UI元素的外观都可能导致您的应用被拒绝。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接