2014-08-27 23 views
51

Ich möchte eine Schaltfläche (UIButton) auf iOS deaktivieren, nachdem es geklickt hat. Ich bin für iOS zu entwickeln aber ich denke, den entsprechenden Code auf Ziel - C ist dies:Deaktivieren Sie eine Schaltfläche

button.enabled = NO; 

Aber ich konnte sie nicht auf schnelles tun.

Antwort

126

Der boolesche Wert für NO in Swift ist false.

button.isEnabled = false 

sollte es tun.

Here ist die Swift-Dokumentation für die UIControlisEnabled Eigenschaft.

25

Wenn Sie die Taste möchten, ohne die "gedrückt" Aussehen statisch bleiben:

// Swift 2 
editButton.userInteractionEnabled = false 

// Swift 3 
editButton.isUserInteractionEnabled = false 

Denken Sie daran:

1) Ihre IBOutlet ist ->@IBOutlet weak var editButton: UIButton!

2) Code oben geht in viewWillAppear

+1

Ich dachte, das war genau das, was ich suchte, aber dies scheint UIKit nur zu sein, nicht AppKit. – drootang

7

Die Art, wie ich dies tun, ist wie folgt:

@IBAction func pressButton(sender: AnyObject) { 
    var disableMyButton = sender as? UIButton 
    disableMyButton.enabled = false 
} 

Die IBAction auf Ihre Schaltfläche im Storyboard verbunden ist.

Wenn Sie Ihre Taste Setup als Outlet haben:

@IBOutlet weak var myButton: UIButton! 

Dann können Sie die aktivierten Eigenschaften zugreifen, indem die Verwendung. Notation auf die Schaltfläche Name:

myButton.enabled = false 
3

eine Taste auf Swift deaktivieren 3:

yourButton.isEnabled = false 
Verwandte Themen