[swift] SkyFloatingLabelTextField 텍스트 변경 이벤트 감지하기
SkyFloatingLabelTextField 텍스트 변경 이벤트 감지하기
SkyFloatingLabelTextField는 사용자에게 입력 필드에 대한 라벨과 힌트를 제공합니다. 이 기능을 통해 텍스트를 변경할 때마다 특정 이벤트를 감지하고자 하는 경우가 있을 수 있습니다.
import SkyFloatingLabelTextField
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField: SkyFloatingLabelTextField!
override func viewDidLoad() {
super.viewDidLoad()
// 텍스트 필드의 델리게이트 설정
textField.delegate = self
// 텍스트 변경 이벤트를 감지할 수 있도록 addTarget을 사용하여 textFieldDidChange 메서드를 등록
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
}
@objc func textFieldDidChange(_ textField: UITextField) {
// 텍스트 필드의 내용이 변경되었을 때 호출되는 메서드
if let text = textField.text {
print("입력된 텍스트: \(text)")
}
}
// UITextFieldDelegate를 구현한 경우 키보드의 "완료" 버튼을 누르면 호출되는 메서드
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder() // 키보드 감추기
return true
}
}
위의 예제에서는 SkyFloatingLabelTextField의 텍스트 값이 변경될 때마다 textFieldDidChange(_:)
메서드가 호출됩니다. 해당 메서드 내부에서 텍스트 필드의 입력된 텍스트를 가져와 출력합니다.
또한, textFieldShouldReturn(_:)
메서드를 사용하면 키보드의 “완료” 버튼을 누를 때 키보드를 감출 수 있습니다.
이를 활용하여 SkyFloatingLabelTextField의 텍스트 변경 이벤트를 감지하고 필요한 동작을 수행할 수 있습니다.