有没有可能以某种方式将Label的文本和系统映像移动得更近一些?Label("MyString", systemImage: "wifi")
Label
Label("MyString", systemImage: "wifi")
jc3wubiy1#
是的,有可能!您只需要创建一个像这样的自定义LabelStyle...
LabelStyle
struct MyLabelStyle: LabelStyle { let spacing: CGFloat func makeBody(configuration: Configuration) -> some View { HStack(spacing: spacing) { configuration.icon configuration.title } } } extension LabelStyle where Self == MyLabelStyle { static func mine(spacing: CGFloat) -> MyLabelStyle { MyLabelStyle(spacing: spacing) } }
然后使用如下:
struct ContentView: View { var body: some View { VStack { Label("MyString", systemImage: "wifi") .labelStyle(.mine(spacing: 0)) Label("MyString", systemImage: "wifi") .labelStyle(.mine(spacing: 10)) Label("MyString", systemImage: "wifi") .labelStyle(.mine(spacing: 20)) } } }
1条答案
按热度按时间jc3wubiy1#
是的,有可能!
您只需要创建一个像这样的自定义
LabelStyle
...然后使用如下: