• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 带有导出集合和标签的注册表单

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:28:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我是 Swift 语言的新手。我有 Web 开发方面的知识,但我需要你的帮助。

我需要创建一个包含导出集合的注册页面。我有 4 个文本字段,并为每个字段分配了标签。当我打算使用beingfirstresponder()将光标从一个文本字段移动到另一个时,它不起作用,当我打印标签时,就像我为它的文本字段分配了一个标签一样,它并不总是打印相同的。

它以随机顺序出现。这是代码。

import UIKit

class ViewController: UIViewController,UITextFieldDelegate {

@IBOutlet var registerTF: [UITextField]!


@IBAction func registerTFTapped(_ sender: UITextField) {

   let tag = sender.tag
   print(tag)
    for tf in registerTF
    {
     if tf.tag == tag
     {

        func textFieldShouldReturn( _ textField: UITextField) -> Bool {

            nextTextFieldToFirstResponder(textField: textField)

            return true;
        }

        func nextTextFieldToFirstResponder(textField: UITextField) {

            if tf.tag == 0 {

                self.becomeFirstResponder()

            }
            else if tf.tag == 1 {

                self.becomeFirstResponder()

            }
            else if tf.tag == 2 {

                self.becomeFirstResponder()

            }
            else if tf.tag == 3 {

                self.resignFirstResponder()

            }

        }

        }
    }
}

//LifeCycle-Starts

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func viewWillAppear(_ animated: Bool) {
    //#
}

override func viewDidAppear(_ animated: Bool) {
    //#
}

override func viewWillDisappear(_ animated: Bool) {
    //#
}

override func viewDidDisappear(_ animated: Bool) {
    //#
}

//LifeCycle-Ends

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}



Best Answer-推荐答案


这只有在 TextFields 集合中的顺序等于标签顺序时才有效

import UIKit

class ViewController: UIViewController,UITextFieldDelegate {

    @IBOutlet var registerTF: [UITextField]!

    func nextTag(currentTag:Int)->Int{

        if(currentTag < registerTF!.count - 1){
            return currentTag + 1
        }
        return -1
    }

    func nextTextFieldToFirstResponder(textField: UITextField) {

        let nextTag = self.nextTag(currentTag: textField.tag)

        if(nextTag >= 0){
            self.registerTF![nextTag].becomeFirstResponder()
        }else{
            textField.resignFirstResponder()
        }
    }

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        self.nextTextFieldToFirstResponder(textField: textField)
        return true
    }

    //LifeCycle-Starts

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        for textField in registerTF {
            textField.delegate = self
        }
    }

    override func viewWillAppear(_ animated: Bool) {
        //#
    }

    override func viewDidAppear(_ animated: Bool) {
        //#
    }

    override func viewWillDisappear(_ animated: Bool) {
        //#
    }

    override func viewDidDisappear(_ animated: Bool) {
        //#
    }

    //LifeCycle-Ends

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

关于ios - 带有导出集合和标签的注册表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885040/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap