All views have a
To try it out, first create a view with some obvious content such as a background color:
To demonstrate this, here’s a mask view that’s the same size as the original view, but it’s offset 64 pixels to the right and has a 64-point corner radius. When used as a mask for the previous view it will have the effect of turning it into a semi-circle:
mask
property that allows you to cut out parts depending on what you need. This mask can be any other kind of UIView
, so you could for example use a label to cut out an image view.To try it out, first create a view with some obvious content such as a background color:
let redView = UIView(frame: CGRect(x: 50, y: 50, width: 128, height: 128))
redView.backgroundColor = .red
view.addSubview(redView)
Now create your mask as a separate UIView
. Although it
won’t be directly visible you should give this either a background color
or some other content because the alpha channel of this mask determines
what shows through in the original view.To demonstrate this, here’s a mask view that’s the same size as the original view, but it’s offset 64 pixels to the right and has a 64-point corner radius. When used as a mask for the previous view it will have the effect of turning it into a semi-circle:
let maskView = UIView(frame: CGRect(x: 64, y: 0, width: 128, height: 128))
maskView.backgroundColor = .blue
maskView.layer.cornerRadius = 64
redView.mask = maskView
The blue background color won’t be visible – that’s just there to make sure all pixels in the mask are opaque.
Comments
Post a Comment