QuartzCore kullanarak düğmenin rengini değiştirmeme izin veren özel bir UIButton oluşturan bir yöntem var. Ancak düğmeler dokunduğunuzda vurgulanmaz.Özel UIButton işaretlendiğinde vurgulamıyor
- (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;
}
Bu düğmeler normal yuvarlak rect düğmesi gibi nasıl vurgulanabilir? Kodunuzda
sadece yapmak gibi görünüyor Başlık söner ve butona dokunduğunuzda buton arka planının mavi renkte yanıp sönmesini istiyorum. – Bob
@Bob Her zaman manuel vurgulamayı ayarlayabilirsiniz. Örneğin: 'onTouchDown' (ya da her neyse) olayı için bir kayıt yapın ve daha sonra uygulamada 'button.layer.backgroundColor = [UIColor BlueColor] gibi bir şey yapın;' '' OnTouchUp' rengi ayarınıza geri döndürün – Garrett
Vay Bu karmaşıklaşıyor. Tek istediğim, özel arka plan rengiyle RoundRect düğmesini yapmak. Elbette bunu yapmak için daha basit bir yol var. – Bob