在UIview底部添加阴影

时间:2017-12-15 13:12:15

标签: ios swift uiview

实际上,我想在UIView的底部留下阴影。 我曾尝试过一些代码但只从顶端获得阴影,而我目前正在使用swift 3.

请按照以下代码:

        let horizontalLine = UIView()
        horizontalLine.frame = CGRect.zero
        horizontalLine.backgroundColor = .lightGray
        self.addSubview(horizontalLine)

        horizontalLine.layer.shadowColor = UIColor.gray.cgColor
        horizontalLine.layer.shadowOpacity = 0.5
        horizontalLine.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
        horizontalLine.layer.masksToBounds = false
        horizontalLine.backgroundColor = .lightGray
       horizontalLine.layer.shadowRadius = 5

我也在使用snapkit库进行UI设置:

        horizontalLine.snp.makeConstraints{ (make) in
            make.height.equalTo(5)
            make.width.equalTo(self.snp.width)
            make.left.equalTo(self.snp.left)
            make.right.equalTo(self.snp.right)
            make.bottom.equalTo(self.snp.bottom)
        }

现在看起来如何: enter image description here

另外,我确实有收集视图。 我们还有一个集合视图就在该行的后面。

请指导我们。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

根据您显示的图像,它看起来像"阴影"您看到的是集合视图的单元格内容上面您的horizontalLine视图。

看起来horizontalLine视图上的阴影根本看不到 - 因为它的超级视图正在剪切它。

试试这个:

    // new line
    self.clipsToBounds = false
    // rest of your code...
    let horizontalLine = UIView()

答案 1 :(得分:-1)

试试这个..

let horizontalLine = UIView()
horizontalLine.frame = CGRect(x: 150, y: 350, width: 150, height: 150)
horizontalLine.backgroundColor = .lightGray
self.view.addSubview(horizontalLine)

horizontalLine.layer.shadowColor = UIColor.red.cgColor
horizontalLine.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
horizontalLine.layer.shadowOpacity = 1.0
horizontalLine.layer.shadowRadius = 0.0
horizontalLine.layer.masksToBounds = false
horizontalLine.layer.cornerRadius = 4.0