UIView clipsToBounds不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIView clipsToBounds不起作用相关的知识,希望对你有一定的参考价值。
我有一个带XIB的视图控制器,里面有一个视图(contentView
)。该视图包含一些按钮。
内容视图具有圆角和剪辑到边界,但它不尊重剪切矩形。我在视图控制器的clipsToBounds
中设置了角半径和viewDidLoad
。
在这里,您可以看到显示视图以正确方式组合的显示屏幕截图,但在模拟器和设备上,剪裁边界不受尊重。
有人可以帮我理解发生了什么。
该应用程序针对ios 10和11,两者都有相同的问题。
答案
我找到了一个解决方案,我在viewDidLayoutSubviews中移动clipsToBound而不是viewDidLoad,现在可以工作了
override func viewDidLoad() {
super.viewDidLoad()
contentView.layer.cornerRadius = Dimensions.CornerRaius
contentView.dropShadow()
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
contentView.clipsToBounds = true
}
以上是关于UIView clipsToBounds不起作用的主要内容,如果未能解决你的问题,请参考以下文章
NSView如何实现类似于UIView中的clipsToBounds功能(即不切割其SubView)
将 UIView.layer.clipsToBounds = true 与 CABasicAnimation 结合使用时,并非所有像素都被裁剪