개발/SWIFT 아이폰 / / 2023. 7. 24. 14:08

SwiftUI TextField 수정중일때 Borderline 변경

반응형

TextField를 포커싱 하거나 입력중일때 보더라인을 다른 색상으로 변경

 

CustomTextFieldStyle 생성

struct CustomTextFieldStyle: TextFieldStyle {
    var textColor: Color
    @Binding var isEditing: Bool
    
    func _body(configuration: TextField<Self._Label>) -> some View {
        configuration
            .foregroundColor(textColor)
            .font(.system(size: 18))
            .padding(10)
            .overlay(RoundedRectangle(cornerRadius: 5).stroke(isEditing ? textColor : Color.gray, lineWidth: 2))
    }
}

 

TextField 생성

struct ContentView: View {
    @State private var username: String = ""
    @State private var isTextFieldFocused: Bool = false
    
    var body: some View {
        TextField("Username", text: $username, onEditingChanged: { editing in
            isTextFieldFocused = editing
        })
        .textFieldStyle(CustomTextFieldStyle(textColor: .blue, isEditing: $isTextFieldFocused))
    }
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유