实例方法
focused(_:)
通过将其焦点状态绑定到给定的布尔状态值来修改此视图。
声明
func focused(_ condition: FocusState<Bool>.Binding) -> some View
返回值
修改后的视图。
参数
condition
要绑定的焦点状态。当焦点移动到视图时,绑定将绑定值设置为
true
。如果调用者以编程方式将该值设置为true
,则焦点将移至修改后的视图。当焦点离开修改后的视图时,绑定将值设置为false
。如果调用者将该值设置为false
, SwiftUI 会自动解除焦点。
详述
每当 condition
值为 true
时,使用此修饰符使视图获得焦点。您可以使用此修饰符来观察单个视图的焦点状态,或者以编程方式设置和移除视图中的焦点。
在以下示例中,单个 TextField
接受用户所需的 username
。文本字段将其焦点状态绑定到布尔值 usernameFieldIsFocused
。 “Submit” 按钮的操作会验证名称是否可用。如果名称不可用,按钮将 usernameFieldIsFocused
设置为 true
,这会导致焦点返回到文本字段,因此用户可以输入不同的名称。
@State private var username: String = ""
@FocusState private var usernameFieldIsFocused: Bool
@State private var showUsernameTaken = false
var body: some View {
VStack {
TextField("Choose a username.", text: $username)
.focused($usernameFieldIsFocused)
if showUsernameTaken {
Text("That username is taken. Please choose another.")
}
Button("Submit") {
showUsernameTaken = false
if !isUserNameAvailable(username: username) {
usernameFieldIsFocused = true
showUsernameTaken = true
}
}
}
}
要通过匹配值来控制焦点,请改用 View/focused(_:equals:)
方法。
可用版本
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 focusedSceneValue(_:_:)用法及代码示例
- 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 focused(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。