gpt4 book ai didi

iphone - 如何在不禁用 clipsToBounds 的情况下向 MKMapView 添加阴影

转载 作者:行者123 更新时间:2023-12-01 17:43:57 25 4
gpt4 key购买 nike

当我尝试向 MKMapView 添加投影时遇到问题的图层,为了让阴影可见,我必须设置 View 的 clipsToBounds属性为假。但是,这样做会导致 map 图 block 在 View 边界之外绘制,重叠阴影并切割部分 View 。结果如下所示:

A screenshot of the bug taken in the iPhone 5.1 Simulator

我想知道是否有一种方法可以在不禁用边界剪辑的情况下绘制阴影,或者让阴影在没有这个丑陋的视觉错误的情况下出现。我设置阴影的代码如下所示:

self.mapView.layer.borderWidth = 5.0;
self.mapView.layer.borderColor = [[UIColor whiteColor] CGColor];
self.mapView.layer.shadowOffset = CGSizeMake(0.0, 0.0);
self.mapView.layer.shadowColor = [[UIColor blackColor] CGColor];
self.mapView.layer.shadowRadius = 5.0;
self.mapView.layer.shadowOpacity = 0.2;
self.mapView.clipsToBounds = NO;

最佳答案

由于该图层归 MKMapView 所有,一般来说,自己触摸它不是一个好主意。 (这种事情很可能在以后的操作系统版本中以奇怪的方式破坏,并且以不可预知的方式运行(看看这是否甚至适用于新的 iOS 6 3D map 会很有趣)。使用 layer-在 OS X 上支持 View ,您根本不应该直接触摸图层(除非它是图层托管 View ,但这是一个不同的讨论))

要在下面获得阴影,只需制作自己的新 CALayer阴影位于 map 下方。或者嵌套 MKMapView作为您自己的 subview UIView , 并将阴影添加到您的 View 中(不需要剪辑)。

关于iphone - 如何在不禁用 clipsToBounds 的情况下向 MKMapView 添加阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11445709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com