首页 > 解决方案 > 带有阴影和圆角的 UIView - Swift

问题描述

我在视图中有一个表格视图单元格。我希望这个视图有阴影和圆角。出于这个原因,我创建了一个类:

class UIViewWithShadowAndRoundedCorner: UIView {
    @IBOutlet var roundedView: UIView!

    override func layoutSubviews() {
        super.layoutSubviews()
        self.addShadow()
    }

    public func addShadow() {
        self.roundedView.layer.cornerRadius = 20
        self.roundedView.layer.masksToBounds = true

        self.layer.shadowColor = UIColor.gray.cgColor
        self.layer.shadowRadius = 1
        self.layer.shadowOffset = .zero
        self.layer.shadowOpacity = 1
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        self.addShadow()
    }
}

表格视图单元格内的视图是 aUIViewWithShadowAndRoundedCorner但我得到了这个结果(视图没有圆角,只有阴影):

阴影但没有圆角

如果我创建另一个只有一个项目UIViewController并且在其中一个实例UIViewWithShadowAndRoundedCorner我得到这个(我想要得到的结果):

想要的结果阴影 + 圆角视图

为什么使用相同的视图类型会得到不同的结果?

标签: iosswiftuitableviewuiviewrounded-corners

解决方案


推荐阅读