ios - iOS 无法设置 UIView 的底部阴影?

标签 ios swift xcode uiview

我想设置 UIView 的底部阴影。我还设置圆角半径。如果我将 ma​​skToBounds 设置为 true 那么我无法设置UIView请告诉我如何设置UIView的角半径和阴影。

 func addShadwToView(){
    self.viewContainer.layer.masksToBounds = true;
    self.viewContainer.layer.shadowRadius = 15;
    self.viewContainer.layer.shadowOffset = CGSize(width: 0, height: 20)
    self.viewContainer.layer.shadowOpacity = 0.5;
    self.viewContainer.layer.cornerRadius = 5
    self.viewContainer.layer.borderColor = UIColor.lightGray.cgColor
    self.viewContainer.layer.borderWidth = 0.5
  }

最佳答案

如果您同时想要角半径和投影,请不要打开 -masksToBounds,而是设置角半径并使用圆角矩形设置阴影的贝塞尔曲线路径。保持两者的半径相同: 尝试一下:

func addShadwToView(){
                    var borderLine = CAShapeLayer()
                    borderLine.path =  UIBezierPath(roundedRect: frame2, byRoundingCorners: [.allCorners], cornerRadii: CGSize(width: 30, height: 0)).cgPath
                    borderLine.shadowColor = UIColor.white.cgColor
                    borderLine.shadowOffset = CGSize(width: 0, height: 1)
                    borderLine.shadowOpacity = 0.3
                    borderLine.shadowRadius = 10

                    self.viewContainer.layer.masksToBounds = true;
                    self.viewContainer.layer.cornerRadius = 5
                    self.viewContainer.layer.borderColor = UIColor.lightGray.cgColor
                    self.viewContainer.layer.borderWidth = 0.5
                    self.viewContainer.layer.addSublayer(borderLine)
                }

关于ios - iOS 无法设置 UIView 的底部阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43734012/

相关文章:

iphone - iOS - 将两个类合二为一

ios - 了解函数中的快速代码元组复合

swift - UIImage 未出现在 UITableView 的原型(prototype)单元格中(Swift)

ios - AVAudioEngine 应用音效

ios - 方法调配不起作用

objective-c - 单击按钮时将选定的单元格文本标签添加到数组

ios - 搜索过滤器必须从 [[String : Any]]() array to new filtered array?

swift - 如何在 XCode 8 Playgrounds 中使用 Swift 2.3?

xcode - 从终端打开 iPhone 应用程序

ios - 尝试获取 Bundle URL 时出错