这是转到下一个 UITextField (使用 textFieldShouldReturn)的一种黑客方式吗?

发布于 2024-12-05 00:02:18 字数 486 浏览 0 评论 0原文

- (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;
}

我有一个 UITextFieldDelegate 使用这个。我是 iPhone 开发新手。来自网络,我习惯于动态且最小化地定义事件。这是从用户名到密码 UITextFields 的“好”方法吗?

有更好的通用做法吗?

- (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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

佞臣 2024-12-12 00:02:18

此处已对此进行了广泛讨论:如何浏览文本字段(下一步/完成)按钮)

但快速回答是肯定的,这很好!没什么奇怪的。

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.

似最初 2024-12-12 00:02:18

如果您将文本字段声明为类的属性,则只需将发件人与每个文本字段进行比较即可确定正确的操作过程。我可能会做这样的事情。

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

    return YES;
}

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文