我创建了一个生成随机数的应用程序,用户必须输入猜测并单击按钮,GUESS才能提交。一切都很好。但是,我只是尝试启动禁用btnGuess的应用程序,并在启动新游戏时启用。当用户赢得游戏时,该按钮也将被禁用。到目前为止,我已经在网上和在这里搜索了你如何禁用/启用UIButton以及我找到的每个答案(最值得注意的是:button.enabled = false)似乎不起作用。请让我知道我在这里缺少什么。我也尝试过button.enabled = NO; (这是另一个不适用于我的解决方案)。感谢。
import UIKit
class myViewController: UIViewController {
var guesses : UInt = 0
var number : UInt32 = 0
var inputGuess = 0
@IBOutlet weak var lblGuesses: UILabel!
@IBOutlet weak var lblGuessTitle: UILabel!
@IBOutlet weak var lblOutput: UILabel!
@IBOutlet weak var txtInput: UITextField!
@IBAction func txtInput(sender: UITextField){
}
override func viewDidLoad() {
super.viewDidLoad()
txtInput.enabled = false
// btnGuess.enabled = false //doesnt work
// Do any additional setup after loading the view.
}
func generateRandom() -> UInt32{
return arc4random_uniform(100) + 1
}
func incrementGuesses(){
++guesses
lblGuesses.text = String(guesses)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnGuess(sender: UIButton) {
let inputGuess = txtInput.text.toInt()
if UInt32(inputGuess!) > number{
lblOutput.text = "Too High!"
incrementGuesses()
}
else if UInt32(inputGuess!) < number{
lblOutput.text = "Too Low!"
incrementGuesses()
}else{
lblOutput.text = "Correct Guess! You Win!"
guesses = 0
txtInput.text = ""
txtInput.enabled = false
//btnGuess.enabled = false //doesnt work
}
}
@IBAction func btnStart(sender: UIButton) {
number = generateRandom()
lblOutput.text = "I'm thinking of a number between 0 - 100"
lblGuesses.text = "0"
txtInput.enabled = true
//btnGuess.enabled = true //doesnt work
}
}
答案 0 :(得分:1)
您引用的变量(btnGuess
)在此代码中声明为函数:
@IBAction func btnGuess(sender: UIButton) {
您可能希望将操作功能的名称更改为@IBAction func guess(sender: UIButton)
,然后声明@IBOutlet weak var btnGuess: UIButton!
属性。
答案 1 :(得分:0)
这是因为btnGuess是一个函数,而不是一个变量。
更改此代码:
@IBAction func btnGuess(sender:UIButton)
要:
@IBAction func btnGuessClicked(Sender:UIButton)
并为btnGuess制作一个@IBOutlet。
答案 2 :(得分:0)
我的建议是创建一个:
@IBOutlet weak var btnGuess: UIButton!
在您的视图控制器中也附加到相同的按钮,并在代码中添加相关的行:
btnGuess.enabled = false
这应该为你做的伎俩
答案 3 :(得分:0)
您具有按钮设置功能(操作),但无法参考按钮的实际外观。
您需要在课程顶部为按钮添加更多IBOutlets:
import UIKit
class myViewController: UIViewController {
@IBOutlet weak var btnStart: UIButton!
@IBOutlet weak var btnGuess: UIButton!
@IBAction func btnStart(sender: UIButton) {
btnGuess.enabled = true
}
}