[swift] IQKeyboardManager를 사용해서 키보드 입력에 따라 다른 동작을 처리할 수 있나요?

IQKeyboardManager를 사용하여 특정 텍스트 필드를 선택하면 키보드가 표시되고, 텍스트 필드가 가려지지 않도록 자동으로 스크롤 조정을 할 수 있습니다. 또한 키보드의 “완료” 또는 “다음” 버튼을 누를 때 필요한 동작을 수행할 수도 있습니다.

다음은 IQKeyboardManager를 사용하여 키보드 입력에 따라 다른 동작을 처리하는 예제입니다.

import IQKeyboardManagerSwift

class ViewController: UIViewController {

    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        // IQKeyboardManager 초기화
        IQKeyboardManager.shared.enable = true
        IQKeyboardManager.shared.toolbarDoneBarButtonItemText = "완료" // "완료" 버튼 타이틀 설정

        // 키보드의 "완료" 버튼 누를 때 동작 처리
        IQKeyboardManager.shared.toolbarDoneBarButtonItemAction = { [weak self] in
            self?.textField.resignFirstResponder() // 키보드 숨기기
            // "완료" 버튼을 눌렀을 때 처리할 동작 추가
        }
    }
}

위의 예제에서는 IQKeyboardManager를 사용하여 “완료” 버튼을 눌렀을 때, 키보드를 숨기고 원하는 동작을 수행하도록 설정했습니다. 필요에 따라 버튼의 타이틀과 동작을 자유롭게 설정할 수 있습니다.

IQKeyboardManager에 대한 좀 더 자세한 정보와 사용법은 공식 GitHub 페이지에서 확인할 수 있습니다.