반응형
텍스트 필드 10글자 입력시 버튼 색상 및 isEnabled 설정 변경
struct ContentView: View {
@State private var inputText: String = ""
@State private var isInputFocused: Bool = false
var body: some View {
VStack {
TextField("텍스트를 입력하세요", text: $inputText, onEditingChanged: { editing in
isInputFocused = editing
})
.textFieldStyle(PlainTextFieldStyle())
.foregroundColor(.blue) // 글자 컬러
.accentColor(.blue)
.padding(10) // 외부 패딩 적용
.font(.system(size: 20, weight: .heavy, design: .default))
.background(RoundedRectangle(cornerRadius: 15).fill(Color.gray))
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(lineWidth: 2)
.foregroundColor(isInputFocused ? .blue : .gray) // 입력 모드에 따라 색상 변경
)
.padding(10) // 내부 패딩 적용
Button(action: {
print("입력된 텍스트: \(inputText)")
}) {
Text("출력하기")
.padding()
.foregroundColor(.white)
.background(inputText.count >= 10 ? Color.red : Color.blue) // 조건에 따라 색상 변경
.cornerRadius(10)
}
.padding()
.disabled(inputText.count < 10) // 조건에 따라 클릭 가능 여부 설정
}.background(Color.white)
}
}
반응형
'개발 > SWIFT 아이폰' 카테고리의 다른 글
SwiftUI 라디오 버튼 생성 및 선택 체크 (0) | 2023.07.17 |
---|---|
SwiftUI TextField 특수문자 입력 체크 (0) | 2023.07.17 |
SwiftUI TextField 입력 중 Border line 색상 변경 (0) | 2023.07.17 |
SwiftUI TextField border line 설정 (0) | 2023.07.17 |
SwiftUI TextField 라운드 처리, 내부 외부 패딩 설정 (0) | 2023.07.17 |