How can I detect any text changes in a textField? The delegate method shouldChangeCharactersInRange works for