實例方法
focused
focusedSceneValue(_:_:)
通過注入您提供的值來修改此視圖,以供其他視圖使用,這些視圖的狀態取決於焦點場景。
聲明
func focusedSceneValue<T>(
_ keyPath: WritableKeyPath<FocusedValues, T?>,
_ value: T
) -> some View
返回值
此視圖的修改表示。
參數
keyPath
將
value
添加到現有的已發布焦點值表時關聯的關鍵路徑。value
要發布的焦點值。
詳述
對於無論焦點位於活動場景中的何處都必須可見的值,請使用此方法而不是 View/focusedValue(_:_:)
。例如,如果一個應用程序需要一個命令來將焦點移動到側邊欄中的特定文本字段,它可以使用這個修飾符發布一個按鈕操作,隻要場景處於活動狀態,無論焦點發生在哪裏,命令視圖都可以看到該操作在其中。
struct Sidebar: View {
@FocusState var isFiltering: Bool
var body: some View {
VStack {
TextField(...)
.focused(when: $isFiltering)
.focusedSceneValue(\.filterAction) {
isFiltering = true
}
}
}
}
struct NavigationCommands: Commands {
@FocusedValue(\.filterAction) var filterAction
var body: some Commands {
CommandMenu("Navigate") {
Button("Filter in Sidebar") {
filterAction?()
}
}
.disabled(filterAction == nil)
}
}
struct FilterActionKey: FocusedValuesKey {
typealias Value = () -> Void
}
extension FocusedValues {
var filterAction: (() -> Void)? {
get { self[FilterActionKey.self] }
set { self[FilterActionKey.self] = newValue }
}
}
可用版本
iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+
相關用法
- Swift Optional focused(_:equals:)用法及代碼示例
- Swift Optional focused(_:)用法及代碼示例
- Swift Optional focusSection()用法及代碼示例
- Swift Optional font(_:)用法及代碼示例
- Swift Optional foregroundStyle(_:)用法及代碼示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代碼示例
- Swift Optional flipsForRightToLeftLayoutDirection(_:)用法及代碼示例
- Swift Optional fixedSize()用法及代碼示例
- Swift Optional fullScreenCover(item:onDismiss:content:)用法及代碼示例
- Swift Optional frame(width:height:alignment:)用法及代碼示例
- Swift Optional fixedSize(horizontal:vertical:)用法及代碼示例
- Swift Optional flatMap(_:)用法及代碼示例
- Swift Optional symbolVariant(_:)用法及代碼示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代碼示例
- Swift Optional mask(alignment:_:)用法及代碼示例
- Swift Optional listSectionSeparatorTint(_:edges:)用法及代碼示例
- Swift Optional badge(_:)用法及代碼示例
- Swift Optional keyboardType(_:)用法及代碼示例
- Swift Optional clipShape(_:style:)用法及代碼示例
- Swift Optional preferredColorScheme(_:)用法及代碼示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代碼示例
- Swift Optional saturation(_:)用法及代碼示例
- Swift Optional overlay(alignment:content:)用法及代碼示例
- Swift Optional colorMultiply(_:)用法及代碼示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Optional focusedSceneValue(_:_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。