iOS) UITextField 에 입력시 키보드 위 toolbar 구현
UITextField 에 입력시 키보드 위 toolbar 구현
미리 알림에서 UITextField 에 입력을 할 때 키보드 위 toolbar 를 구현하려고 한다.
계획
UIToolbar 객체를 만들어서 textField 가 first responder 될 때 즉 focus 될 때 receiver 에 accessory view 를 보이게 할 것이다.
inputAccessoryView
이 속성은 일반적으로 UITextField, UITextView 의 시스템제공 키보드에 악세사리 뷰를 연결하는데 사용. first responder 될 때 즉, focus 될 때 악세사리 뷰를 보여줄 수 있다.
//set UIToolbar
private func setToolbar() -> UIToolbar {
let toolbar = UIToolbar()
//resize
toolbar.sizeToFit()
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
let calendarBarBtn = UIBarButtonItem(image: UIImage(systemName: "calendar.badge.clock"), style: .plain, target: self, action: nil)
let locationBarBtn = UIBarButtonItem(image: UIImage(systemName: "location"), style: .plain, target: self, action: nil)
let flagBarBtn = UIBarButtonItem(image: UIImage(systemName: "flag"), style: .plain, target: self, action: nil)
flagBarBtn.isEnabled = false
let cameraBarBtn = UIBarButtonItem(image: UIImage(systemName: "camera"), style: .plain, target: self, action: nil)
cameraBarBtn.isEnabled = false
toolbar.items = [calendarBarBtn, flexibleSpace, locationBarBtn, flexibleSpace, flagBarBtn, flexibleSpace, cameraBarBtn]
return toolbar
}
//inputAccessoryView
reminderField.inputAccessoryView = setToolbar()