在mapView(Swift)

时间:2015-07-06 19:05:17

标签: swift uilabel mkmapview

我想在mapView上放置一个透明框,然后在其上放置一些文字。

我可以这样做将图像视为一个按钮并改变alpha设置,但只有我放置的最后一个UILabel保持黑色,其余的都是静音。

这可能与标签或其他东西有关,还是必须以编程方式完成?

无论如何,经过几个小时的调查,这是一个有效的解决方案。

  1. 声明你的图层

    @IBOutlet weak var layerView: UIView!
    var myLayer: CALayer {
        return layerView.layer
    }
    
  2. 在ViewController上放置一个UIView并将其链接到layerView。

  3. 创建一个方法/ func来显示框架,例如

    func displayMyFrame() {
         myLayer.frame = CGRectMake(100, 100, 200, 40)
         myLayer.backgroundColor = UIColor.whiteColor().CGColor
         myLayer.borderWidth = 1.0
         myLayer.borderColor = UIColor.redColor().CGColor
         myLayer.shadowOpacity = 0.6
         myLayer.cornerRadius = 5.0
         myLayer.shadowRadius = 10.0
        myLayer.opacity = 0.6
    }
    
    1. 将UILabel放在视图上并将其标记更改为1(在此示例中)。

    2. 在viewDidLoad中调用func。

      displayMyFrame() view.layer.insertSublayer(myLayer,atIndex:1)

  4. atIndex:1表示此框架将放在标签为1的UILabel后面。

    这有效,希望它有所帮助。

0 个答案:

没有答案