Ho un metodo che crea un UIButton personalizzato che mi consente di cambiare il colore del pulsante utilizzando QuartzCore. Ma i pulsanti non si evidenziano quando vengono toccati.UIButton personalizzato non evidenziato quando viene toccato
- (UIButton *)makeHeaderButton {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIFont *textFont = [UIFont boldSystemFontOfSize:12];
UIColor *textColor = [UIColor colorWithRed:80/255.0 green:109/255.0 blue:145/255.0 alpha:1.0];
UIColor *backgroundColor = [UIColor colorWithRed:250/255.0 green:250/255.0 blue:250/255.0 alpha:1.0];
[button setTitleColor:textColor forState:UIControlStateNormal];
button.titleLabel.font = textFont;
button.autoresizesSubviews = YES;
button.layer.cornerRadius = 8;
button.layer.borderWidth = 1;
// next 2 properties set using QuartzCore class, no other way to set button colors
button.layer.borderColor = [UIColor grayColor].CGColor;
button.layer.backgroundColor = backgroundColor.CGColor;
button.clipsToBounds = YES;
return button;
}
Come posso rendere questi pulsanti evidenziati come un normale pulsante rotondo retto?
Questo sembra solo per fare il dissolvenza del titolo e in. Voglio che lo sfondo del pulsante lampeggi a un colore blu quando si tocca il pulsante. – Bob
@Bob È sempre possibile impostare un'evidenziazione manuale. Ad esempio: registrati per un evento 'onTouchDown' (o qualsiasi cosa sia) e poi nell'implementazione fai qualcosa come' button.layer.backgroundColor = [UIColor BlueColor]; 'Quindi' onTouchUp' cambia il colore indietro alle tue impostazioni – Garrett
Wow questo si sta complicando Tutto quello che voglio fare è creare un pulsante RoundRect con un colore di sfondo personalizzato. Sicuramente c'è un modo più semplice per farlo. – Bob