我正在使用UIPopoverBackgroundView
类来显示自定义UIPopover
。
这是事情。在iOS 5上,显示弹出窗口时不会在弹出框中隐藏任何阴影 。然而,在iOS 6中,popover掉落了一个非常奇怪的阴影,不完全适合popover:
无论如何我可以控制这种行为以在两个版本上达到一致的外观吗?
答案 0 :(得分:4)
为了删除iOS 6上的阴影,并在弹出框中添加自定义阴影:
1)通过覆盖layoutSubviews
- (void)layoutSubviews {
// remove shadow (iOS 6)
}
2)在BG视图中添加阴影属性
_borderView.layer.shadowColor = [UIColor blackColor].CGColor;
_borderView.layer.shadowOpacity = 1.f;
_borderView.layer.shadowRadius = 15;
_borderView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
_borderView.layer.shouldRasterize = YES;
答案 1 :(得分:0)
您可以在UIPopoverBackgroundView图层上手动设置阴影偏移:
self.layer.shadowOffset = CGSizeMake(_leftOffset, 0);
编辑:换句话说,阴影是正确的,只是在错误的地方。