iOS 앱에서 사용자에게 문자열을 입력받기 위해 UITextField를 사용할 수 있습니다.
사용자는 UITextField에 직접 키보드로 입력하지 않고 붙여넣기를 할 수 있습니다.
이 때 동작하는 로직 순서에 대해서 알아봤습니다.
붙여넣기시 로직 순서
shouldChangeCharactersIn
가 호출됩니다.붙여넣기 방지 방법
class CustomTextField: UITextField {
open override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(UIResponderStandardEditActions.paste(_:)) {
return false
}
return super.canPerformAction(action, withSender: sender)
}
...
UIResponderStandardEditActions
프로토콜을 통해 각 종 액션을 방지할 수 있습니다.