【问题标题】:Is there a way to assign a button to move through textfields有没有办法分配一个按钮在文本字段中移动
【发布时间】:2019-10-21 15:10:32
【问题描述】:

有 3 个文本字段。默认情况下,一旦程序启动,将选择第一个。有一个下一步按钮,按下它,将选择下一个文本字段。由于某种原因,它正在崩溃。按下按钮的那一刻崩溃。有人可以解释我做错了什么

    override func viewDidLoad() {
            super.viewDidLoad()
            //select default
            textfield.becomeFirstResponder()
            }

    //should go to next textfield when pressed
    @IBAction func NextButton()
    {

        // if textfield is selected
        if(textfield.becomeFirstResponder() == true)
        {
            textfield.resignFirstResponder()
            textfieldTwo.becomeFirstResponder()
        }

        if(textfieldTwo.becomeFirstResponder() == true)
        {
            textfieldTwo.resignFirstResponder()
            textfieldThree.becomeFirstResponder()
        }
    }

【问题讨论】:

  • 您可以通过textField.becomeFirstResponder()激活文本字段
  • 如何使用下一步按钮转到下一个文本字段?
  • 你可以把它们放在一个数组中,然后选择下一个
  • 那你怎么取消选择呢?
  • 当您选择另一个时将取消选择。当时只有一个可以处于活动状态。如果你想确定你也可以打电话给textField.resignFirstResponder

标签: swift button uitextfield


【解决方案1】:

不要使用becomeFirstResponder() 来检查文本字段是否处于活动状态,而是使用isFirstResponder()。另请注意,我为textfieldTwo 添加了else if

@IBAction func NextButton()
{
    // if textfield is selected
    if(textfield.isFirstResponder() == true)
    {
        textfield.resignFirstResponder()
        textfieldTwo.becomeFirstResponder()
    }

    else if(textfieldTwo.isFirstResponder() == true)
    {
        textfieldTwo.resignFirstResponder()
        textfieldThree.becomeFirstResponder()
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多