试图修改 SwiftUI 导航栏文本属性的运行时崩溃
Runtime crash trying to modify SwiftUI Navigation Bar Text attributes
我正在尝试修改 SwiftUI 中的导航栏文本属性(以添加文本阴影),但在试图理解为什么我在模拟器中遇到 运行 次崩溃时遇到了困难。还有另一个线程(参考:下面)能够使用 init() 修改外观来解决更改字体类型的问题,但是尝试使用 init 修改 Text("") 方法以添加阴影会导致崩溃。
我还尝试将 Text("NavBarTitle") 提取到它自己的方法中,然后应用修饰符(那里没有运气)。如我的代码所示,我尝试将文本提取到变量中导致崩溃。即使只是直接应用修改器也会导致崩溃。
我对 SwiftUI 的经验不足,无法将其称为错误,但感觉确实是一个错误。
提前感谢您的帮助!
import SwiftUI
struct ContentView: View {
init() {
UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: 5]
}
let navigationBarText: Text = Text("Navigation Bar")
var body: some View {
NavigationView {
VStack {
Text("Hello, World!")
}
.navigationBarTitle(navigationBarText)
}
}
}
参考:
应该提供NSShadow
对象而不是数字,如下
init() {
let shadow = NSShadow()
shadow.shadowOffset = CGSize(width: 5, height: 2)
UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: shadow]
}
我正在尝试修改 SwiftUI 中的导航栏文本属性(以添加文本阴影),但在试图理解为什么我在模拟器中遇到 运行 次崩溃时遇到了困难。还有另一个线程(参考:下面)能够使用 init() 修改外观来解决更改字体类型的问题,但是尝试使用 init 修改 Text("") 方法以添加阴影会导致崩溃。
我还尝试将 Text("NavBarTitle") 提取到它自己的方法中,然后应用修饰符(那里没有运气)。如我的代码所示,我尝试将文本提取到变量中导致崩溃。即使只是直接应用修改器也会导致崩溃。
我对 SwiftUI 的经验不足,无法将其称为错误,但感觉确实是一个错误。
提前感谢您的帮助!
import SwiftUI
struct ContentView: View {
init() {
UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: 5]
}
let navigationBarText: Text = Text("Navigation Bar")
var body: some View {
NavigationView {
VStack {
Text("Hello, World!")
}
.navigationBarTitle(navigationBarText)
}
}
}
参考:
应该提供NSShadow
对象而不是数字,如下
init() {
let shadow = NSShadow()
shadow.shadowOffset = CGSize(width: 5, height: 2)
UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: shadow]
}