[swift] IQKeyboardManager를 사용해서 키보드의 리턴 키 동작을 변경할 수 있나요?

IQKeyboardManager는 iOS 앱에서 키보드 관련 이슈를 해결하기 위한 유용한 라이브러리입니다. 특히, 키보드가 화면을 가리지 않도록 자동으로 조정하고, 텍스트 필드 및 텍스트 뷰의 포커스 이동과 관련된 작업도 자동으로 처리해줍니다.

키보드의 리턴 키 동작을 변경하려면 IQKeyboardManagershared 인스턴스를 가져와서 해당 기능을 사용하면 됩니다. 아래 예제 코드를 참고해주세요.

import IQKeyboardManagerSwift

func setupIQKeyboardManager() {
    IQKeyboardManager.shared.enable = true
    IQKeyboardManager.shared.shouldResignOnTouchOutside = true
    
    IQKeyboardManager.shared.toolbarDoneBarButtonItemText = "완료"
    IQKeyboardManager.shared.toolbarTintColor = .red
    
    // 리턴 키 동작 변경
    IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses.append(YourViewController.self)
    IQKeyboardManager.shared.toolbarPreviousNextEnablesBarButtonItems = true
}

위의 코드에서 toolbarPreviousNextAllowedClasses.append(YourViewController.self) 부분을 사용하면, 특정 뷰 컨트롤러에서만 리턴 키 동작을 변경할 수 있습니다. YourViewController를 해당 뷰 컨트롤러의 클래스로 변경해주세요.

리턴 키에 대한 동작을 변경하려면 위의 예제처럼 IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses에 뷰 컨트롤러 클래스를 추가하고 IQKeyboardManager.shared.toolbarPreviousNextEnablesBarButtonItemstrue로 설정하면 됩니다.

위의 예제 코드에서는 리턴 키를 눌렀을 때 키보드 왼쪽에 있는 이전/다음 버튼이 활성화되도록 설정되어 있습니다. 다른 원하는 동작으로 변경하려면 toolbarPreviousNextEnablesBarButtonItems 값을 false로 설정하면 됩니다.

IQKeyboardManager에 대한 자세한 내용은 공식 문서를 참고하시기 바랍니다. 링크