Вопрос

- (BOOL)textFieldShouldReturn:(UITextField *)sender
{
    if(sender.returnKeyType == UIReturnKeyNext){
        // Make something else first responder
    }else if(sender.returnKeyType == UIReturnKeyGo){
        // Do something
    }else{
        [sender resignFirstResponder];
    }
    return YES;
}

I have a UITextFieldDelegate using this. I'm new to iPhone dev stuff. Coming from web, I'm used to defining events dynamically and minimally. Is this an "ok" way to go from Username to Password UITextFields?

Is there a better common practice?

Это было полезно?

Решение

This has been discussed extensively here: How to navigate through textfields (Next / Done Buttons)

But the quick answer is yes, this is fine! Nothing hacky about it.

Другие советы

If you have the text fields declared as properties of the class, you could simply compare sender to each text field to determine the correct course of action. I would probably do something like this.

- (BOOL)textFieldShouldReturn:(UITextField *)sender
{
    if (sender == self.firstTextField)
        [self.secondTextField becomeFirstResponder];
    else if (sender == self.secondTextField)
        [self doSomething];
    else
        [sender resignFirstResponder];

    return YES;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top