Artikel Tagged 'UIControlStateHighlighted "

Apple iPhone: Erstellen Sie eine benutzerdefinierte Schaltfläche mit Umschaltfunktion

non funzionano quando un UIButton è impostato in modalità UIButtonTypeCustom ! Die Zustände UIControlStateSelected oder UIControlStateHighlighted nicht funktionieren, wenn ein UIButton -Modus eingestellt ist UIButtonTypeCustom ! Oder besser gesagt, nicht funktionieren (weil für andere Arten von Button vorbehalten), zum Beispiel zu einer Zwei-Staaten-Schaltfläche zu erstellen: toggle beachten. Wenn wir zwei Bilder (und stato1.png stato2.png) für unsere Button erstellt haben, können wir wie folgt vorgehen:

1
2
3
/ / Die Header-Dateien, dass wir eine globale Variable für usaremo erstellen
/ / Check der Toggle wurden
ToggleFlag BOOL;

Nun erstellen wir unseren Button:

1
2
3
4
5
6
7
8
9
/ / Wir schaffen eine Taste und legen wir es zunächst in den Zustand "stato1.png"
/ / Edit initWithFrame: (CGRect) {} 100,100,50,50 mit dem Standort und
/ / Größe des Bildes hat
; toggleFlag = YES;
[ [ UIButton buttonWithType : UIButtonTypeCustom ] initWithFrame : ( CGRect ) { 100 , 100 , 50 , 50 } ] ; UIButton ToggleButton * = [[UIButton buttonWithType: UIButtonTypeCustom] initWithFrame: (CGRect) {100, 100, 50, 50}];
@ "" forState : UIControlStateNormal ] ; [ToggleButton setTitle: @ "," Forst: UIControlStateNormal];
[ UIImage imageNamed : @ "stato1.png" ] forState : UIControlStateNormal ] ; [ToggleButton SetBackgroundImage: [UIImage imageNamed: @ "stato1.png"] Forst: UIControlStateNormal];
self action : @selector ( onToggle : ) forControlEvents : UIControlEventTouchUpInside ] ; [ToggleButton addTarget: self Aktion: @ selector (onToggle:) forControlEvents: UIControlEventTouchUpInside];
toggleButton ] ; [Self.view addSubview: ToggleButton];

Wenn Sie auf den Button klicken, wird eine Nachricht zu verwaltenden senden onToggle :

1
2
3
4
5
6
7
void ) onToggle : ( id ) sender { - (Void) onToggle: (id) sender {
/ / Hole Zeiger auf UIButton
( UIButton * ) sender; UIButton ButtonClicked * = (UIButton *) sender;
/ / Ausführen Toogle
toggleFlag = toggleFlag!;
[ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked SetBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] Forst:? UIControlStateNormal];
}

Fortsetzung ...


Stoppen SOPA