繁体   English   中英

视图上的角半径和阴影突然不起作用

[英]Corner radius and shadow on a view suddenly not working

多个放置在我的应用程序中,我有阴影和角半径的视图。 我尝试添加一个新视图,突然间我重用的代码不再起作用了。 我只能设置角半径或阴影,具体取决于我为masksToBounds 这是我用于错误视图和其他视图的代码:

        itemCountLabel.layer.masksToBounds = false
        itemCountLabel.layer.cornerRadius = itemCountLabelSize / 2.0
        itemCountLabel.layer.shadowColor = UIColor.black.cgColor
        itemCountLabel.layer.shadowOpacity = 0.25
        itemCountLabel.layer.shadowRadius = 5
        itemCountLabel.layer.shadowOffset = CGSize(width: 4, height: 4)
        contentView.addSubview(itemCountLabel)

不可能像您尝试的那样实施。 阴影始终应用在UIView的边界之外,并且如果不屏蔽UIView的边界,则cornerRadius将不可见。 因此,最好在UILabel后面添加一个UIView UILabel用该函数编写一个UIView的扩展,它返回一个UIView包含要应用阴影的视图。

在这里,您需要使用两个不同的视图,一个用于圆角,另一个用于显示阴影,因为由于 Mask To Bounds 和 Clip To Bounds 功能,这两个属性不能一起使用。 由于角半径需要裁剪可能包含阴影的边缘。

因此,要让这两件事都在您想要圆角的视图后面使用阴影视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM