swift - 如何验证用户对游戏的输入而不必每次都按 'submit' 按钮

标签 swift

<分区>

我有任何整数数组 = [3,12,9] 用户需要输入每个数字。如果他们输入了正确的数字,文本字段会重置,然后他们输入下一个数字。没有点击提交按钮。

目前功能还没有发挥作用。

func UserInput(textView:UITextView!)
{
    if(input == nil )
    {
        return;
    }


    var inputs = input!.text.toInt();

    var x = 0
    while (x < numbers.count){
    if( inputs != nil)
    {

        if(inputs! == numbers[x] )
        {
            println("Correct!");
            input.text = ""


            x++
            //println(x)

        }
        else
        {
            println("Incorrect!");


        }
    }
    }
}

最佳答案

您可以使用 textField 中的事件 EditingChanged。有了它,您可以通过这种方式从用户那里获得实时输入:

import UIKit

class ViewController: UIViewController {


    var numbers = [3,12,9]
    @IBOutlet weak var input: UITextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        input.addTarget(self, action:"edited", forControlEvents:UIControlEvents.EditingChanged)
    }

    func edited() {
        for item in numbers {

            if input.text == "\(item)" {
                println("correct")
                //I set here timer so if user enter correct input then it will remove text after some time
                var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("resetText"), userInfo: nil, repeats: false)

            } else {
                println("incorrect")
            }
        }
    }
    //This method will call after some time use if user enter correct input
    func resetText(){
        input.text = ""
    }
}

希望对您有所帮助。

关于swift - 如何验证用户对游戏的输入而不必每次都按 'submit' 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871152/

相关文章:

ios - Alamofire 放入 ObjectMapper 数组

ios - 阵列达到限制后禁用选择

swift - 为什么 Swift 的大于或小于运算符不能比较选项,而相等运算符可以?

ios - Xib 导出 View swift 变为 nil

uitableview - Swift:如何使用“编辑”按钮删除并停用滑动以删除?

ios - 你如何制作下拉搜索栏?

json - 在不删除小数的情况下在 Swift 中将 float 序列化为 JSON

ios - Swift - 从字符串中删除“字符

ios - 变量在 prepareforsegue 函数内部为空

ios - 崩溃 : Swift, 在现有核心数据上添加新实体