class ViewController: UIViewController {
let maskLayer = CALayer()
let imageView = UIImageView(image: UIImage(named: "myios"))
override func viewDidLoad() {
super.viewDidLoad()
//alpha=1 表示不透明 alpha = 0 表示全透明
self.view.backgroundColor = UIColor.whiteColor()
self.view.addSubview(imageView)
imageView.frame.size = CGSizeMake(200, 200)
imageView.center=self.view.center
maskLayer.frame = CGRect(x: 0, y: 0, width: imageView.frame.size.width/2, height:imageView.frame.size.height)//Double((imageView.image?.size.height)!)
maskLayer.backgroundColor=UIColor(red: 1, green: 1, blue: 1, alpha: 1).CGColor
if let mymask = imageView.layer.mask{
print("\(mymask)存在!")
}else{
print("mask 不存在!")
}//mask 不存在!
//个人理解:当一个视图的层的mask属性不为空时,那么该层默认的透明度为0即全部透明,可以通过mask的frame来指定区域,设置该区域的透明度为1来显示某个区域的图片。
imageView.layer.mask = maskLayer
self.performSelector(Selector("myselected"), withObject: nil, afterDelay: 3)
}
func myselected()
{
maskLayer.frame = CGRect(x: Double(imageView.frame.size.width/2), y: 0, width: Double(imageView.frame.size.width/2), height:Double(imageView.frame.size.height))
}