2017-04-13 1 views
2

Ich entwickle App zum Zeichnen auf dem Bildschirm. Ich habe einen Werkzeugkasten mit einem Haufen Knöpfe. Einige von ihnen müssen deaktiviert oder gedrückt werden, abhängig von der aktuellen Benutzeraktion. Wie kann ich UIControlState von Knöpfen programmatisch ändern, denkend, dass "Zustand" Eigenschaft readonly ist? Wenn es unmöglich ist, was ist eine Alternative für diesen Zweck?Wie programmierbarer UIButton-Status in Swift

Antwort

7

Ich glaube, Sie sind verwirrt. UIControlState wird zum Einrichten von Zielen/Aktionen oder zum Ändern des Aussehens der Schaltfläche für bestimmte Status verwendet (Sie können also beispielsweise das Bild angeben, das bei der Auswahl verwendet wird, und ein anderes Bild für den Fall, dass sich die Schaltfläche nicht in der ausgewählter Status.)

Wenn Sie den Status in ausgewählt ändern möchten, legen Sie einfach die ausgewählte Eigenschaft fest.

button.isSelected = true 

Ebenso für isEnabled:

button.isEnabled = false //disable the button 
2

Verwenden Sie die richtige Eigenschaft, um den Status zu ändern. Zum Beispiel

button.isSelected = true 

oder

button.isHighlighted = true