在我的应用程序中放置了多个位置,我的视图既有阴影又有角半径。我尝试添加一个新的视图,突然我重用的代码不再工作了。我只能设置一个角半径或阴影,这取决于我为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)
发布于 2020-03-31 13:40:12
它不可能像你尝试过的那样实现。阴影始终应用于UIView
的边界之外,如果不遮罩UIView
的边界,则cornerRadius
将不可见。所以,最好在UILabel
后面添加一个UIView
,并且为了重用这个函数,编写一个UIView
扩展,它返回一个包含您想要应用阴影的视图的UIView
。
发布于 2020-04-01 15:02:53
在这里,您需要使用两个不同的视图,一个用于圆角,另一个用于显示阴影,因为由于遮罩到边界和剪辑到边界功能,这两个属性不能一起工作。由于圆角半径需要裁剪可能包含阴影的边缘。
因此,为了让这两个东西都在视图后面使用阴影视图,您想要有圆角。
https://stackoverflow.com/questions/60942708
复制相似问题