xcode swift nulpad,下一个按钮不起作用

时间:2017-05-16 11:37:34

标签: iphone xcode

我对编码比较陌生,所以请耐心等待。我编写了一个简单的应用程序,它有6个文本字段需要在按下操作按钮才能执行数学计算之前完成。

我已经完成了所有工作,但我无法使用下一个按钮移动到下一个文本字段。我已经添加了工具栏和完成和下一个按钮但是当我按下下一个按钮时,应用程序崩溃,我得到一个“线程1:信号SIGABRT”。

我已经通过互联网,我正在努力想看看它是如何做到的。我原以为这会很直接。

我无法让下一个按钮执行到下一个框的动作。

这是我的代码

导入UIKit

类ViewController:UIViewController,UITextFieldDelegate {

// IBOutlet UITextFields在这里

override func viewDidLoad() {
    super.viewDidLoad()


    let toolBar = UIToolbar()
    toolBar.barStyle = .default
    toolBar.isTranslucent = true
    toolBar.sizeToFit()

    let flexibleSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)

    let fixedSpaceButton = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

    let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.done, target: self, action: #selector(self.doneClicked))

    let nextButton  = UIBarButtonItem(title: "Next", style: .plain, target: self, action: #selector(self.textFieldShouldReturn(_:)))

    toolBar.setItems([fixedSpaceButton, nextButton, flexibleSpace, doneButton], animated: false)
        toolBar.isUserInteractionEnabled = true



    box1.delegate = self
    box2.delegate = self
    box3.delegate = self
    box4.delegate = self
    box5.delegate = self
    box6.delegate = self

    box1.becomeFirstResponder()


}

func doneClicked() {
    view.endEditing(true)


}

func textFieldShouldReturn(_ textField: UITextField) -> Bool
{
    switch textField
    {
    case box1: box2.becomeFirstResponder()
        break
    case box2: box3.becomeFirstResponder()
        break
    case box3: box4.becomeFirstResponder()
        break
    case box4: box5.becomeFirstResponder()
        break
    case box5: box6.becomeFirstResponder()
        break
    default: textField.resignFirstResponder()
    }
    return true
}

//数学计算的IBAction就在这里

我提前感谢任何帮助。我确实没有留下头发。

由于

0 个答案:

没有答案