iOS

iOS) UITextField 에 입력시 키보드 위 toolbar 구현

hyun99999 2021. 7. 21. 17:30
728x90
반응형

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()

결과

출처

출처ㅣinputAccessoryView

728x90
반응형