美文网首页
masksToBounds到底是何方神圣

masksToBounds到底是何方神圣

作者: 三角君 | 来源:发表于2016-02-15 10:13 被阅读203次

    新年第一天上班不知不觉就到了,今天刚到公司同事就问maskToBounds具体是做什么的?为什么cornerRadius都设置过圆角曲率了,还需要再设置maskToBounds(写过的代码这2项都是同时出现)???
      关于这个问题我给出了我的思路:默认情况下,cornerRadius只会影响背景颜色而不影响背景图片或子图层,必须得设置maskToBounds属性才会截取图层里面所有的东西。

    效果如下:


    Simulator Screen Shot Feb 15, 2016, 09.28.53.png

    ** 左边的就是设置过cornerRadius和maskToBounds的,右边的仅设置过cornerRadius,未设置maskToBounds! **

    测试核心代码如下(左边是subView1,右边是subView2,红色图层未设置cornerRadius和maskToBounds)

    import UIKit
    
    class ViewController: UIViewController {
    
        @IBOutlet weak var subView1: UIView!
        @IBOutlet weak var subView2: UIView!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            self.subView1.layer.cornerRadius = 20
            self.subView2.layer.cornerRadius = 20
            
            self.subView1.layer.masksToBounds = true
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    }
    

    ** 其中masksToBounds可在Interface Builder勾选Clip Subviews实现同样的效果。**

    相关文章

      网友评论

          本文标题:masksToBounds到底是何方神圣

          本文链接:https://www.haomeiwen.com/subject/nxlpkttx.html