J'ai une application OS X avec deux cases à cocher (NSButton). Si le premier (principal) n'est pas coché, il désactive et décoche le second.Puis-je obtenir une case à cocher pour modifier visuellement son état avant d'envoyer son action?
Voici le code de cette fonctionnalité,
@IBAction func peopleCheckboxAction(sender: AnyObject) {
if(self.peopleCheckbox.state == NSOffState){
self.peopleCommentsCheckbox.enabled = false
self.peopleCommentsCheckbox.state = NSOffState
}else{
self.peopleCommentsCheckbox.enabled = true}
}
Mais est ici la chose: que le code est exécuté avant l'état de la première case à cocher est modifiée, et créer une action en deux étapes qui se sent presque comme le premier La boîte ne répond pas, ou l'utilisateur a peut-être cliqué sur le mauvais bouton, car le second contrôle change en premier. C'est seulement un beat off, mais je voudrais le réparer.
Existe-t-il un moyen simple d'inverser la façon dont ces deux choses sont exécutées, ou de s'assurer qu'elles se produisent presque simultanément?
Merci, j'ai pensé que cela pourrait fonctionner, mais il y a deux problèmes ici. Premièrement, le même problème de synchronisation semble être présent. Deuxièmement, j'ai encore besoin de désactiver la case à cocher et de la désactiver. Si je me contente de lier la propriété enabled, alors elle peut être désactivée mais commentCheckboxbox.state sera toujours NSOnState. –