目标:按下按钮即可更新导航栏颜色。
当前:导航栏颜色根本没有改变。
尝试:我目前正在使用 init() 来设置 navBarTintColor & 我也尝试过这个答案,但都不会按需更新。
代码:
var navColor = Color.green
struct ContentView: View {
@State var themeColor = Color.green
@State var items = [0,1,2,3,4,5,6,7,8,9]
@State var showSheet = false
init() {
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.black]
UINavigationBar.appearance().barTintColor = UIColor(navColor)
UINavigationBar.appearance().backgroundColor = UIColor(navColor)
}
var body: some View {
NavigationView{
List{
ForEach(0..<items.count){ i in
Text("Item: \(items[i])")
}.listRowBackground(themeColor)
}
.navigationBarTitle("Theme", displayMode: .inline)
.navigationBarItems(leading: Button(action: {
showSheet.toggle()
}, label: {
Text("Sheet")
})
,trailing: Button(action: {
self.themeColor …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用徽标图像代替该应用程序顶部的NavigationView标题。在导航视图中找不到有关使用图像的任何文档。
我正在将SwiftUI与Xcode 11结合使用,我想NavigationBarTitle用以下代码行更改字体:
.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
.font(.subheadline)
Run Code Online (Sandbox Code Playgroud)
但是什么也没发生。有什么建议或意见吗?
我试图将导航视图的屏幕背景颜色设置为相同的颜色(浅灰色)。我的目标是使每个屏幕和导航视图背景的背景颜色全局相同(灰色)。我该如何归档它?我试过这个:
var body: some View {
NavigationView {
ZStack {
Color.gray.opacity(0.1)
VStack{
Spacer()
}
}.navigationTitle("Today")
.navigationBarItems(leading: Text("some texts"))
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建一个主/详细信息类型的示例应用程序,并且我正在努力让 NavigationBar UI 在我的详细信息视图中正常工作。我正在处理的视图的代码如下:
struct JobDetailView : View {
var jobDetails: JobDetails
var body: some View {
Form {
Section(header: Text("General")) {
HStack {
Text("Job Name")
Spacer()
Text(jobDetails.jobName)
.multilineTextAlignment(.trailing)
}
HStack {
Text("Hourly Rate")
Spacer()
Text(TextFormatters().currencyString(amount: jobDetails.hourlyRateBasic!))
.multilineTextAlignment(.trailing)
}
}
} .padding(.top)
.navigationBarTitle(Text(jobDetails.jobName))
}
}
Run Code Online (Sandbox Code Playgroud)
原因.padding(.top)是向上滚动时停止表单与导航栏重叠。
导航栏上的白色背景部分是我的问题(第一张图片),我希望它与 UI 的整体风格保持一致,我希望发生的事情显示在第二张图片中。
我试图添加前景色/背景色和视图来改变这种颜色,但无济于事。我也不愿为 NagivationBar 强制使用颜色,因为这需要进一步配置才能与暗模式一起使用。