一、问题描述
通过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=;
CGFloat btnY= labelY+labelH;
CGFloat btnW=(viewW-*btnX);
CGFloat btnH= ;
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];