一、问题描述
通过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];