Я пытаюсь добавить тень на UIView.Вот мой код для добавления тени.
func addDropShadow() {
layer.cornerRadius = 5.0
layer.masksToBounds = false
layer.shadowColor = UIColor.darkGray.cgColor
layer.shadowOpacity = 0.5
layer.shadowOffset = CGSize(width: 2, height: 2)
layer.shadowRadius = 4
layer.shadowPath = UIBezierPath(rect: bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = UIScreen.main.scale
}
Работает нормально, если устройство находится в портретном режиме, но в ландшафтном режиме тень либо обрезается
Когда я снова поворачиваю устройство, чтобы ландшафтная тень не двигалась за пределы экрана.
Я думал, что это может быть связано сСмена ориентации кадра зрения также обновляется.Поэтому я обновил свойство теневого пути в методе viewDidLayoutSubviews.Но поведение остается прежним.
Вот мой код
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.dropShadowView.layer.shadowPath = UIBezierPath(rect: self.dropShadowView.bounds).cgPath
}
Я что-то здесь не так делаю?