【问题标题】:Swift 2.0 and Xcode-beta 7.0 – Using UITextField for numeric inputSwift 2.0 和 Xcode-beta 7.0 – 使用 UITextField 进行数字输入
【发布时间】:2015-06-17 19:53:52
【问题描述】:

这里的菜鸟完全沮丧。这肯定不像看起来那么难吗?

我想使用用户输入的数字,进行计算,然后将结果发送回屏幕。

我的代码可以使用代码强制输入的字符串,将其转换为双精度,进行数学运算并将结果发送到屏幕。例如:

 @IBAction func buttonPressed() {
  NSLog("Button Pressed")

  let decimalAsString = "123.45"
  let decimalAsDouble = NSNumberFormatter().numberFromString(decimalAsString as String)!.doubleValue
   TempLabel.text = "\(decimalAsDouble+2.45)"
}

这只是将 2.45 添加到字符串“123.45”并将结果 125.9 作为字符串发送回我的标签以进行显示,所有这些都在按下按钮时完成。伟大的。这种更简单的形式也适用:

        let decimalAsDouble = Double(decimalAsString)

我一直在努力解决的是使用输入到 UITextField 中的数字。

我的 UITextField 使用小数点输入,并且在抛出错误时我总是在其中输入一个数字。 (或者我是吗?数字显示在屏幕上,但它们真的“输入”了吗?嗯……)

无论我尝试什么,当按下按钮时,我都找不到既能编译又不会在执行时崩溃的代码。我得到的错误通常抱怨解开可选的 nil。

如果有帮助,我可以详细说明一些不起作用的事情。

【问题讨论】:

    标签: xcode input uitextfield double


    【解决方案1】:

    好的,我终于解决了我自己的问题。我的问题是关闭输入字段并关闭数字输入板。一旦我这样做了,输入的值就可用了。

    视图控制器中的关键代码是:

    func textFieldShouldReturn(textField: UITextField!) -> Bool {   //delegate method
        textField.resignFirstResponder()
        return true
    }
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?){
        view.endEditing(true)
        super.touchesBegan(touches, withEvent: event)
    }
    

    当用户单击视图中的任何位置(字段本身或按钮除外)时,这会关闭输入板。寻找输入值的程序不会崩溃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2015-01-28
      相关资源
      最近更新 更多