实例方法
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 Optional preferredColorScheme(_:)用法及代码示例
- Swift Optional previewDevice(_:)用法及代码示例
- Swift Optional previewInterfaceOrientation(_:)用法及代码示例
- Swift Optional previewLayout(_:)用法及代码示例
- Swift Optional previewDisplayName(_:)用法及代码示例
- Swift Optional projectionEffect(_:)用法及代码示例
- Swift Optional privacySensitive(_:)用法及代码示例
- Swift Optional progressViewStyle(_:)用法及代码示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Optional pageCommand(value:in:step:)用法及代码示例
- Swift Optional padding(_:_:)用法及代码示例
- Swift Optional popover(item:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Optional padding(_:)用法及代码示例
- Swift Optional position(_:)用法及代码示例
- Swift Optional position(x:y:)用法及代码示例
- Swift Optional symbolVariant(_:)用法及代码示例
- 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 background(_:ignoresSafeAreaEdges:)用法及代码示例
- Swift Optional saturation(_:)用法及代码示例
- Swift Optional focusSection()用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional prefersDefaultFocus(_:in:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。