TextField 타입중에 Number Pad 타입을 선택할 경우 Done 버튼이 없다
Done 버튼을 추가하고 터치 시 키보드가 사라지는 액션을 추가해보자
스토리보드에 UITextField 를 추가 하고 타입을 Number Pad 로 바꾼다음 아울렛을 추가한다
@IBOutlet weak var numberPad: UITextField!
그리고 UITextField의 아래 이미지처럼 액션을 추가한다
Event 가 Editing Did Begin 이다 다시 확인 하자
이제 액션함수에 TextField 가 나타나면 위에 Done 버튼을 넣는 코드를 넣는다.
@IBAction func TextFieldAction(_ sender: UITextField) {
let doneToolbar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50))
doneToolbar.barStyle = UIBarStyle.blackTranslucent
let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.done, target: self, action: #selector(doneButtonAction))
let items = NSMutableArray()
items.add(flexSpace)
items.add(done)
doneToolbar.items = items as? [UIBarButtonItem]
doneToolbar.sizeToFit()
self. numberPad.inputAccessoryView = doneToolbar
}
Done 버튼을 눌렀을때 키보드창이 사라지는 함수
items.add(flexSpace)
items.add(done)
doneToolbar.items = items as? [UIBarButtonItem]
doneToolbar.sizeToFit()
self. numberPad.inputAccessoryView = doneToolbar
}
Done 버튼을 눌렀을때 키보드창이 사라지는 함수
func doneButtonAction(){
self. numberPad.resignFirstResponder()
}
댓글 없음:
댓글 쓰기