如何解决边界问题

时间:2019-04-01 03:01:56

标签: ios swift

我正在使用边框阴影,直到iPhone 6s都可以正常工作,但更大的变化是边框不会出现。

我的层次结构如下: tableView->单元格->视图(parentView)->对象

   created extension for uiView:

 func addViewShadow(offset: CGSize, radius: CGFloat, color: UIColor, opacity: Float, cornerRadius: CGFloat? = nil) {
    self.layer.shadowOffset = offset
    self.layer.shadowRadius = radius
    self.layer.shadowOpacity = opacity
    self.layer.masksToBounds = false
    self.layer.shadowColor = color.cgColor
    if let r = cornerRadius {

        self.layer.shadowPath = UIBezierPath(roundedRect: bounds, cornerRadius: r).cgPath
        self.layer.cornerRadius = r
        //            self.clipsToBounds = true
    }
}

在课堂上使用:

cell.parentView.addViewShadow(偏移量:CGSize.zero,半径:2,颜色:UIColor.darkGray,不透明度:1,cornerRadius:5)

图片:

Image

3 个答案:

答案 0 :(得分:0)

移动代码以向layoutSubviews添加阴影。

答案 1 :(得分:0)

override func layoutSubviews() {
        super.layoutSubviews()
//your code here
    }

答案 2 :(得分:0)

此问题的最佳解决方案是为放置在单元格中的视图赋予白色

将颜色从默认颜色更改为白色是最好的解决方法:)