ios - 自定义 UIPopover 在 iOS 6 上有奇怪的阴影

标签 ios ipad uikit uipopovercontroller uipopover

我正在使用 UIPopoverBackgroundView 类来显示自定义 UIPopover

事情是这样的。在 iOS 5 上,显示弹出窗口时不会在弹出窗口后面放置任何阴影。然而,在 iOS 6 中,弹出窗口会转换出非常奇怪的阴影,该阴影并不完全适合弹出窗口:

ios 5 popover

ios 6 popover

我是否可以控制此行为以在两个版本上达到一致的外观?

最佳答案

为了删除 iOS 6 上的阴影,并向弹出窗口添加自定义阴影:

1) 通过重写 layoutSubviews 移除阴影

- (void)layoutSubviews {
    // remove shadow (iOS 6)
}

2)向您的 BG View 添加阴影属性

_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;

关于ios - 自定义 UIPopover 在 iOS 6 上有奇怪的阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12769392/

相关文章:

objective-c - UIPopover已重新定位,但位置错误

ios - 以编程方式添加前导/顶部约束

ios - 当主线程被阻塞时,MBProgressHUD 没有及时显示

swift - 在 Swift 中使用完成处理程序动画图像

ios - 自动化 Xcode 的调试 > 模拟位置命令

jquery - 为什么在 iPad/iPhone 上滚动屏幕时会调用我的点击事件?

iphone - 如何为 iPhone 实现音量键快门?

iphone - 以编程方式访问应用标识符前缀

objective-c - 无法在界面生成器中连接第二次滑动手势

ios - 在 Safari View Controller 中隐藏共享选项