實例方法
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(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。