我想在mapView上放置一个透明框,然后在其上放置一些文字。
我可以这样做将图像视为一个按钮并改变alpha设置,但只有我放置的最后一个UILabel保持黑色,其余的都是静音。
这可能与标签或其他东西有关,还是必须以编程方式完成?
无论如何,经过几个小时的调查,这是一个有效的解决方案。
声明你的图层
@IBOutlet weak var layerView: UIView!
var myLayer: CALayer {
return layerView.layer
}
在ViewController上放置一个UIView并将其链接到layerView。
创建一个方法/ 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
}
将UILabel放在视图上并将其标记更改为1(在此示例中)。
在viewDidLoad中调用func。
displayMyFrame() view.layer.insertSublayer(myLayer,atIndex:1)
atIndex:1表示此框架将放在标签为1的UILabel后面。
这有效,希望它有所帮助。