如果设置为YES,UIView layer.masksToBounds正在做什么?

时间:2010-04-15 20:18:03

标签: iphone uiview

有人知道吗?我找到了一些答案,但是太复杂而且太深了。我需要一个简单的答案。

2 个答案:

答案 0 :(得分:121)

如果masksToBounds属性设置为YES,则图层中任何超出其边界的子图层都将被剪切到这些边界。在这种情况下,将层视为其子层的窗口;窗口边缘以外的任何东西都不可见。当masksToBounds为NO时,不会发生剪切,并且任何延伸到图层边界外的子图层都将完整可见(只要它们不会超出任何启用了屏蔽的超级图层的边缘)。

答案 1 :(得分:1)

故事板中的输入设计

enter image description here

@IBOutlet weak var purpleView: UIView!  // view inside super view
@IBOutlet weak var yellowView: UIView!  // super view

override func viewDidLoad() {
    super.viewDidLoad()

    yellowView.layer.cornerRadius = 20
    yellowView.layer.masksToBounds = true
    
    // Do any additional setup after loading the view.
}

enter image description here

maskToBounds = true 后的输出。超视图剪辑超视图之外的子视图部分。