Mam metodę, która tworzy niestandardowy UIButton, który pozwala mi zmienić kolor przycisku za pomocą QuartzCore. Przyciski nie są jednak podświetlane po dotknięciu.Niestandardowe UIButton nie podświetlanie po dotknięciu
- (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;
}
Jak mogę ustawić te przyciski jako zwykły okrągły przycisk?
To tylko wydaje się, aby Tytuł wygaszania i w. Chcę, aby tło przycisku migało na niebieski kolor po dotknięciu przycisku. – Bob
@Bob Zawsze możesz ustawić podświetlanie ręczne. Na przykład: Zarejestruj się na wydarzenie 'onTouchDown' (lub cokolwiek to jest), a następnie we wprowadzeniu wykonaj coś w stylu' button.layer.backgroundColor = [UIColor BlueColor]; 'Następnie' onTouchUp' zmień kolor z powrotem na twoje ustawienie – Garrett
Wow , to się komplikuje. Wszystko, co chcę zrobić, to zrobić przycisk RoundRect z niestandardowym kolorem tła. Z pewnością istnieje prostszy sposób na zrobienie tego. – Bob