🇰🇷⌨️TextField 한국어 키보드를 먼저 띄우기

sanghee·2021년 9월 12일
0

🚩iOS

목록 보기
17/18
post-thumbnail

TextField 생성하기

스토리보드에 텍스트 필드를 만들고 코드와 연결한다. 스토리보드를 쓰지 않는다면 코드로 직접 만든다. 이 텍스트필드는 CustomTextField 클래스이다.

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var CustomTextField: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

}

CustomTextField

UITextInputTraits 프로토콜에서 Keyboard Type에서는 한국어를 설정할 수 없다. 그러나 텍스트 필드에 UITextInputMode를 override 하면 한국어가 뜨도록 변경할 수 있다. UITextInputMode의 activeInputModes는 현재 활성화된 텍스트 입력 모드들을 배열 형태로 반환한다. 설정에서 유저가 한국어, 영어(미국), 이모지 키보드를 설정했다면 activeInputModes 배열의 모드의 각각 primaryLanguage는 ["ko-KR", "en-US", "emoji"] 이다. primaryLanguage가 "ko-KR"와 일치하는 경우(한국어 키보드가 있는 경우)에 textInputMode를 해당 모드로 설정하면 한국어 키보드가 나온다.

import UIKit

class CustomTextField: UITextField {

    private func getKeyboardLanguage() -> String? {
        return "ko-KR"
    }

    override var textInputMode: UITextInputMode? {
        if let language = getKeyboardLanguage() {
            for inputMode in UITextInputMode.activeInputModes {
                if inputMode.primaryLanguage! == language {
                    return inputMode
                }
            }
        }
        return super.textInputMode
    }

}
profile
👩‍💻

0개의 댓글