我有任意数量的整数= [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!");
}
}
}
}
答案 0 :(得分:1)
您可以使用EditingChanged
中的事件textField
。有了它,您可以通过这种方式获得用户的实时输入:
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 = ""
}
}
希望它会有所帮助。