一、問題描述
通過UIButton對象font屬性設置文字大小,卻發現該屬性在2.0.3.0就已經被廢棄,ios不建議使用。

圖1-1:點出UIButton對象的font屬性提示被廢棄

圖1-2:UIButton類的font屬性被標記為NS_DEPRECATED_IOS
而UIButton對象沒有text屬性設置文字,后來想設置UIButton對象titleLabel.text設置文字,但UIButton的文字依然沒有改變。
二、問題分析
在xcode3.0之后,建議使用UIButton對象的屬性titleLabel設置文字大小。

UIButton對象的文字有狀態的,不同狀態下文字內容,需要使用setTitle: forState:方法設置。
UIButton有些屬性是需要狀態的,例如設置按鈕文字,有以下四種狀態:
UIControlStateNormal
UIControlStateHighlighted
UIControlStateDisabled
UIControlStateSelected
例如:
[btn setTitle:@"按鈕" forState:UIControlStateNormal];
三、問題解決
設置文字大小代碼如下:
UIButton *btn = [[UIButton alloc]init]; CGFloat btnX=15; CGFloat btnY= labelY+labelH; CGFloat btnW=(viewW-2*btnX); CGFloat btnH= 30; btn.frame=CGRectMake(btnX, btnY, btnW, btnH); UIImage *btnImgNormal = [UIImage imageNamed:@"buttongreen.png"]; [btn setBackgroundImage:btnImgNormal forState:UIControlStateNormal]; UIImage *btnImgHighlighted = [UIImage imageNamed:@"buttongreen_highlighted.png"]; [btn setBackgroundImage:btnImgHighlighted forState:UIControlStateHighlighted]; [btn setTitle:@"下載" forState:UIControlStateNormal]; btn.titleLabel.font=[UIFont systemFontOfSize:16]; [self.view addSubview:btn];
