实例方法
symbol
symbolVariant(_:)
使视图中的符号显示特定变体。
声明
func symbolVariant(_ variant: SymbolVariants) -> some View
返回值
将指定符号变体或多个变体应用于自身及其子视图的视图。
参数
variant
用于符号的变体。使用
SymbolVariants
中的值。
详述
如果您希望应用程序用户接口的一部分中的所有 SF Symbols 使用相同的变体,请使用带有 SymbolVariants
值的 symbolVariant(_:)
修饰符,例如 SymbolVariants/fill-swift.type.property
:
VStack(spacing: 20) {
HStack(spacing: 20) {
Image(systemName: "person")
Image(systemName: "folder")
Image(systemName: "gearshape")
Image(systemName: "list.bullet")
}
HStack(spacing: 20) {
Image(systemName: "person")
Image(systemName: "folder")
Image(systemName: "gearshape")
Image(systemName: "list.bullet")
}
.symbolVariant(.fill) // Shows filled variants, when available.
}
没有指定变体的符号不受影响。在上面的示例中,list.bullet
符号没有填充变量,因此 symbolVariant(_:)
修饰符无效。
如果你多次应用修改器,它的效果会累积。或者,您可以在一次调用中应用多个变体:
Label("Airplane", systemImage: "airplane.circle.fill")
Label("Airplane", systemImage: "airplane")
.symbolVariant(.circle)
.symbolVariant(.fill)
Label("Airplane", systemImage: "airplane")
.symbolVariant(.circle.fill)
上面代码中的所有标签都产生相同的输出:
您可以按任何顺序应用所有这些变体,但如果应用多个形状变体,则最接近符号的变体优先。例如,下图使用 SymbolVariants/square-swift.type.property
形状:
Image(systemName: "arrow.left")
.symbolVariant(.square) // This shape takes precedence.
.symbolVariant(.circle)
.symbolVariant(.fill)
要使符号忽略当前环境中的变体,请使用 View/environment(_:_:)
修饰符直接将 EnvironmentValues/symbolVariants
环境值设置为 SymbolVariants/none
。
可用版本
iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+
相关用法
- Swift Optional saturation(_:)用法及代码示例
- Swift Optional submitLabel(_:)用法及代码示例
- Swift Optional speechAlwaysIncludesPunctuation(_:)用法及代码示例
- Swift Optional submitScope(_:)用法及代码示例
- Swift Optional scaledToFill()用法及代码示例
- Swift Optional searchCompletion(_:)用法及代码示例
- Swift Optional safeAreaInset(edge:alignment:spacing:content:)用法及代码示例
- Swift Optional simultaneousGesture(_:including:)用法及代码示例
- Swift Optional shadow(color:radius:x:y:)用法及代码示例
- Swift Optional sheet(item:onDismiss:content:)用法及代码示例
- Swift Optional scaledToFit()用法及代码示例
- Swift Optional scenePadding(_:)用法及代码示例
- Swift Optional scaleEffect(_:anchor:)用法及代码示例
- Swift Optional scaleEffect(x:y:anchor:)用法及代码示例
- Swift Optional swipeActions(edge:allowsFullSwipe:content:)用法及代码示例
- Swift Optional sheet(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Optional mask(alignment:_:)用法及代码示例
- Swift Optional listSectionSeparatorTint(_:edges:)用法及代码示例
- Swift Optional badge(_:)用法及代码示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional keyboardType(_:)用法及代码示例
- Swift Optional clipShape(_:style:)用法及代码示例
- Swift Optional preferredColorScheme(_:)用法及代码示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional symbolVariant(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。