ios – 下一个完成按钮使用Swift with textFieldShouldReturn

ios – 下一个完成按钮使用Swift with textFieldShouldReturn,第1张

概述新到快速:) 当一个注册按钮被按下时,我有一个MainView添加一个子视图(signUpWindow). 在我的signUpWindow子视图(SignUpWindowView.swift)中,我使用一个函数设置每个字段,例如: func confirmPasswordText() { confirmPasswordTextField.frame=CGRectMake(5 @H_404_0@新到快速:)

当一个注册按钮被按下时,我有一个MainVIEw添加一个子视图(signUpWindow).

在我的signUpWindow子视图(SignUpWindowVIEw.swift)中,我使用一个函数设置每个字段,例如:

func confirmPasswordText()    {        confirmPasswordTextFIEld.frame=CGRectMake(50,210,410,50)        confirmPasswordTextFIEld.placeholder=("Confirm Password")        confirmPasswordTextFIEld.textcolor=textFIEldFontcolor        confirmPasswordTextFIEld.secureTextEntry=true        confirmPasswordTextFIEld.returnKeyType = .Next        confirmPasswordTextFIEld.clearbuttonMode = .WhileEditing        confirmPasswordTextFIEld.tag=5        self.addSubvIEw(confirmPasswordTextFIEld)    }

我成功地让键盘在MainVIEw中出现并消失时上下移动signUpWindow.好极了 :)

SignUpWindowVIEw实现了UITextFIEldDelegate

我的问题是我正在键盘上配置下一个/完成按钮,我不知道要添加textFIEldShouldReturn函数的主视图(MainVIEw或SignUpWindowVIEw).我已经尝试过这两个,但是甚至不能得到一个println来测试,以查看该函数是否被执行.一旦我得到textFIEldShouldReturn启动,我有信心我可以执行必要的代码,以获得下一个/完成按钮来做我想要的,并将发布最后的解决方案包括下一个/完成功能.

UPDATED包含一个缩写版本的SignUpWindowVIEw.swift

import UIKitclass SignUpWindowVIEw: UIVIEw,UITextFIEldDelegate {let firstnameTextFIEld:UITextFIEld=UITextFIEld()let lastnameTextFIEld:UITextFIEld=UITextFIEld()overrIDe func drawRect(rect: CGRect){    func firstnameText(){        firstnameTextFIEld.delegate=self        firstnameTextFIEld.frame=CGRectMake(50,25,200,50)        firstnameTextFIEld.placeholder="First name"        firstnameTextFIEld.returnKeyType = .Next        self.addSubvIEw(firstnameTextFIEld)     }    func lastnameText(){        lastnameTextFIEld.delegate=self        lastnameTextFIEld.frame=CGRectMake(260,50)        lastnameTextFIEld.placeholder="Last name"        lastnameTextFIEld.returnKeyType = .Done        self.addSubvIEw(lastnameTextFIEld)     }    func textFIEldShouldReturn(textFIEld: UITextFIEld!) -> Bool{        println("next button should work")        if (textFIEld === firstnameTextFIEld)        {            firstnameTextFIEld.resignFirstResponder()            lastnameTextFIEld.becomeFirstResponder()        }        return true     }    firstnameText()    lastnameText()}
解决方法 您需要在类中实现UITextFIEldDelegate,并将该对象设置为UITextFIEld的委托.然后实现方法textFIEldShouldReturn:像这样:
func textFIEldShouldReturn(textFIEld: UITextFIEld) -> Bool {    textFIEld.resignFirstResponder()    if textFIEld == someTextFIEld { // Switch focus to other text fIEld        otherTextFIEld.becomeFirstResponder()    }    return true}

在你的例子中,你错过了这一行:

confirmPasswordTextFIEld.delegate = self

如果你已经执行了委托.

总结

以上是内存溢出为你收集整理的ios – 下一个/完成按钮使用Swift with textFieldShouldReturn全部内容,希望文章能够帮你解决ios – 下一个/完成按钮使用Swift with textFieldShouldReturn所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存