Swift mapview图层蒙版裁剪/移动视图。我究竟做错了什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift mapview图层蒙版裁剪/移动视图。我究竟做错了什么?相关的知识,希望对你有一定的参考价值。

我想在下面50%的mapview上添加一个fadeview。但是,只要我将CAGradientLayer添加到mapview.layer.mask,我就会得到一个奇怪的结果,看起来像是在裁剪mapview,还是向下移动到左边?

当我运行调试视图层次结构时,我得到了正确的结果(图像1),但在设备上它看起来完全不同(图像2)。

override func viewDidLoad() {    

@IBOutlet weak var mapView: MKMapView!
    // Gradient
    let gradientMaskLayer = CAGradientLayer()
    gradientMaskLayer.frame = mapView.bounds
    gradientMaskLayer.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
    gradientMaskLayer.locations = [0.0, 0.05]

    mapView.layer.mask = gradientMaskLayer
    mapView.translatesAutoresizingMaskIntoConstraints = false
}

image 1 image 2

答案

我解决了!

我使用主视图最大边界而不是mapviews。

所以我换了

gradientMaskLayer.frame = mapView.bounds

有:

gradientMaskLater.frame = CGRect(x:0, y:0, width: view.bounds.maxX, height: view.bonds.maxY)

干杯!

以上是关于Swift mapview图层蒙版裁剪/移动视图。我究竟做错了什么?的主要内容,如果未能解决你的问题,请参考以下文章

在视网膜 iPad 上应用图层蒙版会隐藏所有

28.图层蒙版及图层混合模式

iOS 图层蒙版在 UIStackView 上不起作用

如何获得圆形图层蒙版?

为啥我的图片加上图层蒙版后,用画笔擦出半透明效果时候,擦出来的都是黑白的小方格,怎么才能擦出白的

GeoServer中配置的图层使用OpenLayers为啥读不出来