【问题标题】:Navigation Bar Custom DropShadow in Swift UISwiftui 中的导航栏自定义投影
【发布时间】:2020-06-01 18:41:30
【问题描述】:
我正在尝试将自定义阴影应用到具有白色背景的NavigationView。
我确实尝试过使用 UINavigationBar.appearance(),但它在 SwiftUI 视图中不起作用。
我正在寻找这种具有自定义颜色和半径的阴影。
有没有人遇到过任何问题或以前做过。
任何帮助将不胜感激。
【问题讨论】:
标签:
ios
swift
swiftui
navigationview
swiftui-navigationlink
【解决方案1】:
我不确定为什么 UINavigationBarAppearance 不适合你。
我能够使用 UINavigationBarAppearance() 配置为 SwiftUI NavigationViews 执行此操作,如下所示:
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.shadowColor = nil // or a custom tint color
appearance.shadowImage = UIImage(named: "shadow")
UINavigationBar.appearance().standardAppearance = appearance
这是一个示例图片,您可以使用它来获得与您的图片显示的内容相似的内容。要应用自定义色调,请使用上面的 shadowColor 属性。要获得自定义半径,您需要修改阴影图像。
这是我执行此操作时 SwiftUI NavigationView 的示例。
请注意,必须在创建 NavigationView 之前应用 UINavigationBarAppearance 设置。否则设置不会生效。