Désactiver et Activer UIButton - XCode Swift
J'ai fait une application qui génère un nombre aléatoire et l'utilisateur doit entrer une supposition et cliquez sur un bouton, SUPPOSE de se soumettre. Tout fonctionne très bien. Cependant, je suis simplement en train d'essayer de démarrer l'application avec btnGuess désactivé et activé lorsqu'un nouveau jeu est lancé. Le bouton sera également désactivée lorsque l'utilisateur gagne la partie. Jusqu'à présent, j'ai cherché en ligne et d'ici à la façon dont vous avez désactivé/activer un UIButton et chaque réponse que j'ai trouvé (et plus particulièrement: un bouton.enabled = false) ne semble pas fonctionner. S'il vous plaît laissez-moi savoir ce que je suis en manque ici. J'ai également essayé le bouton.enabled = NO; (qui est une autre solution qui ne fonctionne pas pour moi). Merci.
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
}
}
Vous devez vous connecter pour publier un commentaire.
La variable que vous faites référence (
btnGuess
) est déclaré comme une fonction dans votre code ici:Vous pouvez modifier l'action nom de la fonction, à
@IBAction func guess(sender: UIButton)
et de déclarer ensuite un@IBOutlet weak var btnGuess: UIButton!
propriété.Il se passe parce que btnGuess est une fonction, pas une variable.
Modifier ce code:
À:
Et aussi faire un @IBOutlet pour btnGuess.
ma suggestion sera de créer aussi un:
dans votre vue-contrôleur attaché à la même bouton et dans le code d'ajouter, le cas échéant, la ligne:
et qui devrait faire l'affaire pour vous
Vous avez la fonction de la configuration du bouton (l'Action), mais pas moyen de faire référence à l'aspect du bouton.
Vous avez besoin d'ajouter plus de IBOutlets en haut de votre classe pour vos boutons: