Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按swift中的按钮顺序显示数组中的问题_Ios_Iphone_Arrays_Swift_Uibutton - Fatal编程技术网

Ios 按swift中的按钮顺序显示数组中的问题

Ios 按swift中的按钮顺序显示数组中的问题,ios,iphone,arrays,swift,uibutton,Ios,Iphone,Arrays,Swift,Uibutton,我对学习iOS Swift还不熟悉,所以如果这很容易,我深表歉意 我的应用程序第一页有一个简单的布局: 请回答我的问题 UITextField,用户在其中写入答案 用户输入文本字段后,UIButton将激活 我提出了一系列的4个问题。我试图编写代码,当用户按下UIButton时,只要文本字段已填充,它就会显示数组中的下一个问题 这就是我到目前为止所做的: @IBOutlet var textField: UITextField! @IBOutlet var questionLabel: UIL

我对学习iOS Swift还不熟悉,所以如果这很容易,我深表歉意

我的应用程序第一页有一个简单的布局:

请回答我的问题 UITextField,用户在其中写入答案 用户输入文本字段后,UIButton将激活

我提出了一系列的4个问题。我试图编写代码,当用户按下UIButton时,只要文本字段已填充,它就会显示数组中的下一个问题

这就是我到目前为止所做的:

@IBOutlet var textField: UITextField!

@IBOutlet var questionLabel: UILabel!

@IBOutlet var buttonLabel: UIButton!

let questions = ["Where are you going?", "Do you know what city?", "What are you doing there?", "When do you go?"]


@IBAction func nextButton(sender: AnyObject) {

    textField.hidden = false
    textField.placeholder = "Country"


    for var i = 0; i < 5; i++ {
        questionLabel.text = questions[0]
    }

    buttonLabel.setTitle("Next", forState: UIControlState.Normal)

  }

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //keyboard
    textField.delegate = self

    buttonLabel.setTitle("Get Started", forState: UIControlState.Normal)
    questionLabel.text = ""

    // Hides the text field
    textField.hidden = true

    // Hides the image background for the text field
    barImage.hidden = true

}
我可以这样做,当用户按下“开始”按钮时,它会将按钮文本更改为“下一步”,显示文本字段和数组中的第一个问题

但是当用户输入答案并按下“下一步”按钮后,我很难理解如何转到下一个问题

非常感谢您的帮助

尼克

添加一个名为currentQuestionIndex的属性,以跟踪您在数组中的位置,并在单击按钮时增加该属性:

var currentQuestionIndex = 0

@IBAction func nextButton(sender: AnyObject) {

    textField.hidden = false
    textField.placeholder = "Country"

    questionLabel.text = questions[currentQuestionIndex]

    if currentQuestionIndex < questions.count {
         ++currentQuestionIndex
         buttonLabel.setTitle("Next", forState: UIControlState.Normal)
    } else {
        (sender as UIButton).userInteractionEnabled = false
    }

}

是否有办法禁用“下一步”按钮,除非文本字段中有答案?我尝试过这样的方法:If textField==nil{nextButton.enabled=false}-但它似乎不起作用。。。?Thanksure textField.userInteractionEnabled=falseHi,当我运行上面的行时,它只是禁用了用户在textField中的键入。我想禁用的是“下一步”按钮,直到在textfield中写入内容。userInteractionEnabled适用于UIView的所有后代,所以只需将其应用于UIButtonHi,我确信这是我的愚蠢,但无论我将其放置在何处,我都无法让它满足我的需要。你能告诉我在上面的代码中它需要去哪里吗?非常感谢