實例方法
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 Never saturation(_:)用法及代碼示例
- Swift Never simultaneousGesture(_:including:)用法及代碼示例
- Swift Never scaledToFill()用法及代碼示例
- Swift Never safeAreaInset(edge:alignment:spacing:content:)用法及代碼示例
- Swift Never searchCompletion(_:)用法及代碼示例
- Swift Never sheet(isPresented:onDismiss:content:)用法及代碼示例
- Swift Never submitScope(_:)用法及代碼示例
- Swift Never scaleEffect(x:y:anchor:)用法及代碼示例
- Swift Never speechAlwaysIncludesPunctuation(_:)用法及代碼示例
- Swift Never submitLabel(_:)用法及代碼示例
- Swift Never sheet(item:onDismiss:content:)用法及代碼示例
- Swift Never scaleEffect(_:anchor:)用法及代碼示例
- Swift Never scaledToFit()用法及代碼示例
- Swift Never shadow(color:radius:x:y:)用法及代碼示例
- Swift Never swipeActions(edge:allowsFullSwipe:content:)用法及代碼示例
- Swift Never suggestedFileName(_:)用法及代碼示例
- Swift Never scenePadding(_:)用法及代碼示例
- Swift Never pageCommand(value:in:step:)用法及代碼示例
- Swift Never opacity(_:)用法及代碼示例
- Swift Never colorMultiply(_:)用法及代碼示例
- Swift Never accessibilityAction(action:label:)用法及代碼示例
- Swift Never alert(isPresented:error:actions:message:)用法及代碼示例
- Swift Never confirmationDialog(_:isPresented:titleVisibility:actions:)用法及代碼示例
- Swift Never flipsForRightToLeftLayoutDirection(_:)用法及代碼示例
- Swift Never position(x:y:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Never symbolVariant(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。