当UIPopoverController的视图出现时,我不想要那个下拉阴影。有没有办法去掉这个下拉阴影外观?
当UIPopoverController的视图出现时,我不想要那个下拉阴影。有没有办法去掉这个下拉阴影外观?
虽然不是很直接,但自从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;
}
您只需使用自定义的UIPopoverBackgroundView,并在其中实现此函数:
+ (BOOL)wantsDefaultContentAppearance {
return NO;
}
阴影是弹出视图层的属性。如果您可以访问该层,您可以将其阴影半径设置为0.0,阴影偏移量设置为{0.0, 0.0}。然而,看起来视图必须是弹出控制器的私有实例变量,因此没有简单的方法可以访问它。此外,如果您想通过应用商店分发此应用程序,则使用私有实例变量并更改标准UI元素的外观都可能导致您的应用被拒绝。