새벽의 기록

[ios\swift] SwiftUI TextField 글자 수 제한 본문

[Ios\Swift]

[ios\swift] SwiftUI TextField 글자 수 제한

OneTen 2024. 8. 6. 15:45

SwiftUI TextField의 글자 수 제한하는 방법

구글링 해 본 결과 Modifier도 만들고 extention도 추가하고.. 등등 여러 방법이 많았지만

나는 그냥 간단하게 하나만 만들고 싶은건데 다 너무 복잡한 느낌을 받았다...

 

그래서 그냥 onChange를 이용해서 직접 구현했다. 

뭐 번거로운 과정없이 코드 몇 줄만 끄적끄적 하면 끝

import SwiftUI

struct ContentView: View {
    @State private var text = ""

    var body: some View {
        VStack {
            TextField("Enter text", text: $text)
                .onChange(of: text) { newValue in
                    if newValue.count > 10 {
                        text = String(newValue.prefix(10))
                    }
                }
                .padding()
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()
            
            Text("Text: \(text)")
        }
        .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

참고

Modifier 만들어서 제한하는 방법

https://velog.io/@niro/iOS-SwiftUI-TextField-글자-수-입력제한-기능을-만들어보자

 

 

'[Ios\Swift]' 카테고리의 다른 글

[ios\swift] 고차함수 (map, filter, reduce)  (0) 2024.06.11
[ios\swift] allSatisfy(_:)  (0) 2024.06.10
[ios\swift] 내장함수 zip(_:_:)  (0) 2024.05.28
Comments