实例方法
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:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。