SwiftUI .toolbar ToolbarItem 自定义按钮设计
Posted
技术标签:
【中文标题】SwiftUI .toolbar ToolbarItem 自定义按钮设计【英文标题】:SwiftUI .toolbar ToolbarItem Custom Button Designs 【发布时间】:2021-05-15 04:58:38 【问题描述】:是否可以在使用新的 .toolbar/ToolbarItem 代码时设置按钮样式?
这是一个添加红色背景的简单示例。什么都没有。
ToolbarItem(placement: .navigationBarLeading)
Button(action: )
Image(systemName: "plus.circle")
.background(.red)
以前我只会添加它来添加背景、颜色、大小、阴影、圆圈等...
.buttonStyle(NavButtonStyle())
我在浪费时间吗?我想要的最后一件事是丑陋的蓝色图像。我想自定义它们。
谢谢。
【问题讨论】:
ToolbarItem 已经是一个按钮,所以您不需要明确使用 Button。如果您想执行某些操作,请在没有按钮的情况下正常查看并添加手势。 样式怎么样?还是行动?我不明白这将如何工作?谢谢。 对于样式,我们可以创建一个普通视图,如正文视图,如果您想重定向其他屏幕,请使用导航链接,否则添加点击手势。 或者使用navigationBarItems(leading
insted of ToolbarItem。
【参考方案1】:
我不知道为什么会这样 - 但确实如此。想知道是否有更好的方法?
我无法以任何方式格式化图像 - 直到我添加了 Text("")。
我添加了 HStack 只是为了整理。
如果你把 Text("") 放在前面,它会移动图像 - 所以最后会更好。
祝你好运。
.toolbar
ToolbarItem(placement: .navigationBarLeading)
Button(action: presentationMode.wrappedValue.dismiss() )
HStack
Image(systemName: "arrow.left")
.frame(width: 24, height: 24)
.background(
Circle()
.fill(Color.red)
)
.shadow(color: Color.black.opacity(0.3), radius: 3, x: 2, y: 2)
Text("") // without this text the image formatting will not show
【讨论】:
以上是关于SwiftUI .toolbar ToolbarItem 自定义按钮设计的主要内容,如果未能解决你的问题,请参考以下文章
SwipeActions 按钮和 ToolBar 按钮触发的多个工作表(项目:)在 SwiftUI 中首次获取 nil 对象
iOS 15.3.1中SwiftUI toolbar中按钮不响应点击动作等若干不兼容问题的解决
iOS 15.3.1中SwiftUI toolbar中按钮不响应点击动作等若干不兼容问题的解决
iOS 16 中 SwiftUI 4.0 Toolbar 自定义背景色以及 List 自动编辑操作的原生支持