I’m using RubyMotion (had been writing Obj C in Xcode previously but now I’m collaborating with someone that wants to use RubyMotion due to bkgd in Ruby)
I have a ViewController with 2 textfields. I need to have it so that whenever user switches from being in textfield1 to textfield2 if a condition of textfield1 isn’t met, Error Label shows (I use self.ErrorLabel.show for this). I know how to write my condition statements but I really do not know how to know when user switches to next textfield.
I thought I could use:
if ([textField1 isFirstResponder] && (textField1 != touch.view))
log( 'left textfield1' )
end
if ([textField2 isFirstResponder] && (textField2 != touch.view))
log( 'left textfield2' )
end
from this question Detect UITextField Lost Focus but no such luck. I know I’m using RubyMotion so there are some differences.
How do I get this to work? I don’t think I’m searching with the right keywords because it seems like something developers use all the time yet I’m not finding any results.
Thank you for any help available.
Update: I am thinking I will be using this method:
- (void)textFieldDidEndEditing:(UITextField *)textField
In RubyMotion:
def textFieldDidEndEditing( textField )
I used log() to determine that this does indeed let me know that the user has changed from one textfield to the next. I just need to do a couple of tweaks so that I can specify which textfield was left.
You need to set the
delegateof each of your text fields to the view controller class, then implement thetextFieldDidEndEditingmethod. Here’s a working example: