嗨,我想知道是否有可能在UIVisualEffectView上设置转角半径?下面是我尝试过的代码:
@IBOutlet var blurView: UIVisualEffectView!
var blurLayer : CALayer{
return blurView.layer
}
override func viewDidLoad() {
super.viewDidLoad()
setUpLayer()
// Do any additional setup after loading the view.
}
func setUpLayer(){
blurLayer.cornerRadius = 50
}和
@IBOutlet var blurView: UIVisualEffectView!
override func viewDidLoad() {
super.viewDidLoad()
blurView.layer.cornerRadius = 50
// Do any additional setup after loading the view.
}它们都不起作用。
发布于 2015-07-26 18:16:23
在@theMonster建议之后,我发布了一个评论。
override func viewDidLoad() {
super.viewDidLoad()
blurView.layer.cornerRadius = 50
blurView.clipsToBounds = true
}发布于 2018-07-17 00:39:42
在情节提要中,在用户定义的运行时属性layer.cornerRadius = 8和layer.masksToBounds = true中添加两个参数
或者在代码中
@IBOutlet var blurView: UIVisualEffectView! {
didSet {
blurView.layer.cornerRadius = 8
blurView.layer.masksToBounds = true
}
}发布于 2015-07-26 05:45:23
子类UIVisualEffectView
class PSORoundedVisualEffectView : UIVisualEffectView{
override func layoutSubviews() {
super.layoutSubviews()
updateMaskLayer()
}
func updateMaskLayer(){
let shapeLayer = CAShapeLayer()
shapeLayer.path = UIBezierPath(roundedRect: self.bounds, cornerRadius: 10).CGPath
self.layer.mask = shapeLayer
}
}将UIBezierPath替换为所需的任意形状。
https://stackoverflow.com/questions/29029335
复制相似问题