gpt4 book ai didi

ios - Ipad 上的 UIView 阴影不能正确跨越 View 的宽度

转载 作者:行者123 更新时间:2023-11-28 07:38:21 25 4
gpt4 key购买 nike

我在 UIView 上创建了一个简单的扩展,用于向 UIView 添加“下拉”阴影,它在 iPhone 上运行良好,但在 iPad 上无法正常运行。我不知道我错过了什么,关于如何改进/修复这个问题以便阴影在 iPad 和 iPhone 上正确显示的任何想法都很棒

extension UIView {
func addShadow() {
self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
self.layer.shadowColor = UIColor.black.cgColor
self.layer.shadowOpacity = 0.5
self.layer.shadowOffset = .zero
self.layer.shadowRadius = 10
}

这是它在 iPad 上的样子:

UIView with shadow on iPad

我像这样从 UIView 调用它:

class AggregateDataViewImplementation: UIView, AggregateDataView {
override func awakeFromNib() {
layoutView()
}

private func layoutView() {
self.addShadow()
}

...

最佳答案

也许你的问题在这里:

self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath

影子的rect是按照这里的,如果self.bounds不符合实际的rect,可能会报错。建议这样写,

 self.bgView.layer.shadowPath = UIBezierPath(rect: self.bgView.bounds).cgPath
self.bgView.layer.shadowColor = UIColor.black.cgColor
self.bgView.layer.shadowOpacity = 0.5
self.bgView.layer.shadowOffset = .zero
self.bgView.layer.shadowRadius = 10

希望能帮到你。

关于ios - Ipad 上的 UIView 阴影不能正确跨越 View 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52864696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com