實例方法
prefers
prefersDefaultFocus(_:in:)
表示默認情況下視圖應該接收給定命名空間的焦點。
聲明
func prefersDefaultFocus(
_ prefersDefaultFocus: Bool = true,
in namespace: Namespace.ID
) -> some View
返回值
一個修改後的視圖,設置它是否更喜歡默認聚焦。
參數
prefersDefaultFocus
一個布爾值,指示此視圖是否默認接收焦點。默認值
true
使視圖默認獲得焦點。namespace
與此視圖首選默認焦點的焦點範圍關聯的命名空間。
詳述
當沒有其他視圖具有焦點時,此修飾符設置初始焦點首選項。隨時使用環境值EnvironmentValues/resetFocus
強製重新評估默認焦點。
以下 tvOS 示例在 VStack
中顯示了三個按鈕,分別標記為 “1”、“2” 和 “3”。默認情況下,“1” 按鈕將獲得焦點,因為它是堆棧中的第一個子項。但是,prefersDefaultFocus(_:in:)
修飾符允許按鈕 “3” 改為接收默認焦點。一旦按鈕可見,用戶可以向下移動並聚焦“重置為默認焦點”按鈕。當用戶激活此按鈕時,它使用 ResetFocusAction
重新評估 mainNamespace
中的默認焦點,這會將焦點返回到按鈕 “3”。
struct ContentView: View {
@Namespace var mainNamespace
@Environment(\.resetFocus) var resetFocus
var body: some View {
VStack {
Button ("1") {}
Button ("2") {}
Button ("3") {}
.prefersDefaultFocus(in: mainNamespace)
Button ("Reset to default focus") {
resetFocus(in: mainNamespace)
}
}
.focusScope(mainNamespace)
}
}
默認焦點首選項僅限於與提供的命名空間匹配的可聚焦祖先。如果多個視圖表達了這種偏好,那麽SwiftUI 應用當前平台規則來確定哪個視圖獲得焦點。
可用版本
macOS 12.0+, tvOS 14.0+, watchOS 7.0+
相關用法
- Swift Never preferredColorScheme(_:)用法及代碼示例
- Swift Never previewDisplayName(_:)用法及代碼示例
- Swift Never previewLayout(_:)用法及代碼示例
- Swift Never previewDevice(_:)用法及代碼示例
- Swift Never previewInterfaceOrientation(_:)用法及代碼示例
- Swift Never progressViewStyle(_:)用法及代碼示例
- Swift Never projectionEffect(_:)用法及代碼示例
- Swift Never privacySensitive(_:)用法及代碼示例
- Swift Never pageCommand(value:in:step:)用法及代碼示例
- Swift Never position(x:y:)用法及代碼示例
- Swift Never position(_:)用法及代碼示例
- Swift Never popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代碼示例
- Swift Never padding(_:_:)用法及代碼示例
- Swift Never popover(item:attachmentAnchor:arrowEdge:content:)用法及代碼示例
- Swift Never padding(_:)用法及代碼示例
- 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 luminanceToAlpha()用法及代碼示例
- Swift Never accessibilityAction(_:_:)用法及代碼示例
- Swift Never badge(_:)用法及代碼示例
- Swift Never buttonStyle(_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Never prefersDefaultFocus(_:in:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。