当UIPopoverController的视图出现时,我不想要投影。有没有办法删除这个阴影外观?
答案 0 :(得分:12)
不是直截了当,但是从iOS 5开始,您可以使用UIPopoverBackgroundView创建自己的自定义弹出窗口背景。
请参阅此问题的答案:Using UIPopoverBackgroundView class。它指向一个好的tuto。
然后,在UIPopoverBackgroundView实现的initWithFrame中,可以使用clearColor作为投影。使用偏移和半径对我来说不起作用。
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.layer.shadowColor = [[UIColor clearColor] CGColor];
}
return self;
}
答案 1 :(得分:0)
阴影是弹出视图图层的属性。如果您可以访问图层,则可以将其阴影半径设置为0.0,将阴影偏移设置为{0.0,0.0}。但是,看起来视图必须是弹出控制器的私有ivar,因此没有一种简单的方法可以实现。此外,如果您希望通过应用程序商店分发此应用程序,使用私有ivar并更改标准UI元素的外观,可能会导致您的应用被拒绝。
答案 2 :(得分:0)
您只需使用自定义UIPopoverBackgroundView并实现此功能:
+ (BOOL)wantsDefaultContentAppearance {
return NO;
}