這裏是設置爲IB類按鈕的一個簡單的例子自定義按鈕:按鈕標籤顏色的變化不工作,如果字體也改變
#import "TestButton.h"
@implementation TestButton
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
UIFont * font = [UIFont systemFontOfSize:8];
if (self.setFont)
self.titleLabel.font = font;
self.titleLabel.textColor = [UIColor redColor];
}
@end
如果setfont程序是假的,那就是,字體不變,標籤文本顏色如預期的那樣變爲紅色。但如果它是真的,那麼按鈕的文本顏色就是它在IB中設置的任何顏色。
所以問題是這裏發生了什麼,以及如何更改以編程方式在IB中分配的按鈕的文本和字體。
如果有人想看到這些特點,也IBDesignable如何個性就可以了,看到demo project
謝謝 - 這個工程。有趣的是,當在xCode 6.2中的setFont上使用IB_DESIGNABLE和IBInspectable時,它會做相反的事情。也就是說,當我將字體設置爲關閉時,它按預期更新標題顏色,但啓用時,文本保持默認顏色,而不是紅色。無論如何,你會知道爲什麼設置titleLabel的顏色不起作用嗎? – farhadf 2015-03-25 16:02:15
我個人不確定蘋果爲什麼不允許第一種方法工作,但我知道第二種方法更好,因爲它允許您爲「UIControlStateNormal」之外的多個狀態設置顏色。 (例如,您可以使用'UIControlStateHighlighted'來定義單擊按鈕時文本的顏色) – 2015-03-25 16:06:12