【发布时间】:2019-06-16 17:17:13
【问题描述】:
我想在 SwiftUI 中使用系统加号图像向导航栏项目添加加号按钮。但是,当辅助功能字体更改时,我无法阻止系统图像动态缩放。
如何阻止它调整大小,使其像标准 UINavigationBarButtonItem 系统加按钮一样?
对于大字体类型,按住导航栏按钮的辅助功能也不能像 UIKit 那样工作。
真正令人沮丧的是,SwiftUI 无法完成一件可能很简单的事情,而且还没有考虑到可访问性。 SwiftUI 教程配置文件栏按钮也不适用于大字体。 (PS SwiftUI 是未来)
这是我的尝试:
struct ContentView : View {
var body: some View {
NavigationView {
List {
Text("Stop + Bar Button resizing")
.lineLimit(nil)
}
.navigationBarTitle(Text("Plus"))
.navigationBarItems(trailing:
PlusNavigationButton()
)
}
}
}
struct PlusNavigationButton: View {
var body: some View {
PresentationButton(
Image(systemName: "plus")
.resizable()
.frame(width: 44, height: 44),
destination: NewView())
}
}
【问题讨论】:
-
我认为您无法阻止它调整大小。
.navigationBarItems由系统自动调整大小以支持 iOS 上的动态字体。这不就是它应该做的吗? -
@Edward 你想缩小导航栏中图片的大小吗?
-
@Let's_Create 是的,我是。我希望它的行为类似于 UIKit 中的系统 + 栏按钮。也许我应该改用它?
-
在给定的代码中,我可以通过减小 .frame(width: 25, height: 25) 的值来减小它的大小这是你想要的吗?
-
但是你仍然需要它至少是推荐的 44 点乘 44 点