A form is pushed onto the view. The form has several required fields. Also the form needs to be validated. I want to intercept the back button's click to check if the fields have been filled in, and validate the form. How would I intercept the button's click, and make sure it doesn't pop to the previous screen?
You can try accessing the NavigationBars Right Button item and set its selector property...heres a reference UIBarButtonItem reference, another thing if this doenst work that will def work is, set the right button item of the nav bar to a custom UIBarButtonItem that you create and set its selector...hope this helps
It isn't possible to do directly. There are a couple alternatives:
- Create your own custom
UIBarButtonItem
that validates on tap and pops if the test passes - Validate the form field contents using a
UITextField
delegate method, such as-textFieldShouldReturn:
, which is called after theReturn
orDone
button is pressed on the keyboard
The downside of the first option is that the left-pointing-arrow style of the back button cannot be accessed from a custom bar button. So you have to use an image or go with a regular style button.
The second option is nice because you get the text field back in the delegate method, so you can target your validation logic to the specific text field sent to the delegate call-back method.