gpt4 book ai didi

swiftui - 在 SwiftUI 中设置导航栏项样式

转载 作者:行者123 更新时间:2023-12-04 12:16:35 25 4
gpt4 key购买 nike

使用 UIKit 添加导航栏项时,您可以使用 UIBarButtonItem.style 设置其样式。 .这对于 Done 很重要按钮,以粗体显示。

SwitftUI 的 navigationBarItems(leading:trailing:)需要一个 View但没有风格。您可以通过在 View 中使用粗体按钮来修改样式外观,但它不会适应 future 的操作系统样式更改(例如 font weight 而非 bold )。

如何使用 SwiftUI 设置导航栏项的样式?

最佳答案

我认为我们必须改变我们对 SwiftUI 的看法,因为“UIBarButtonItem.style”的概念不会直接适用。 SwiftUI 试图隐藏实现细节,并希望根据上下文将字体粗细更改为“自动神奇地工作”等概念。
在 Xcode 12.3 和 iOS 14.3 上,按钮样式似乎默认为粗体 (在 NavigationView 的上下文中) :

.navigationBarItems(
leading:
Button(action: {}) {
Text("Cancel")
},
trailing:
Button(action: {}) {
Text("Save")
}
)
更改样式的一种方法是添加按钮样式:
.navigationBarItems(
leading:
Button(action: {}) {
Text("Cancel")
}.buttonStyle(PlainButtonStyle()),
trailing:
Button(action: {}) {
Text("Save")
}
)
但这并没有达到预期的效果。 我不得不更改字体粗细以使“取消”成为常规样式 ,和“保存”是大胆的......就像标准的iOS:
.navigationBarItems(
leading:
Button(action: {}) {
Text("Cancel")
.fontWeight(Font.Weight.regular)
},
trailing:
Button(action: {}) {
Text("Save")
}
)
这样做的好处是你不需要了解“UIBarButtonItem.style:”的概念,你只需要了解什么是 Button 的概念。是,什么 Text is - 随着时间的推移,应该熟悉哪些 API,因为它们是标准构建块。
enter image description here

关于swiftui - 在 SwiftUI 中设置导航栏项样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103598/

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