Tôi có phương thức tạo UIButton tùy chỉnh cho phép tôi thay đổi màu của nút bằng cách sử dụng QuartzCore. Nhưng các nút không làm nổi bật khi chạm vào.Tùy chỉnh UIButton không làm nổi bật khi chạm vào
- (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;
}
Làm cách nào để làm nổi bật các nút này như nút tròn thông thường?
Đó chỉ có vẻ để làm cho tiêu đề mờ dần và in. Tôi muốn nền nút nhấp nháy thành màu xanh khi nút được chạm vào. – Bob
@Bob Bạn luôn có thể thiết lập đánh dấu thủ công. Ví dụ: Đăng ký cho một sự kiện 'onTouchDown' (hoặc bất cứ điều gì nó là) và sau đó trong việc thực hiện làm một cái gì đó như' button.layer.backgroundColor = [UIColor BlueColor]; 'Sau đó,' onTouchUp' thay đổi màu sắc trở lại thiết lập của bạn – Garrett
Wow , điều này trở nên phức tạp. Tất cả những gì tôi muốn làm là tạo một nút RoundRect với màu nền tùy chỉnh. Chắc chắn có một cách đơn giản hơn để làm điều này. – Bob