标签:
问题:
创建UIButton对象,设置对象显示文字“按钮”,然后修改文字大小,很自然点出对象的font属性,却发现该属性在2.0.3.0就已经被废弃,ios不建议使用。应该如何修改UIButton对象的文字大小?
图1-1:点出UIButton对象的font属性提示被废弃
图1-2:UIButton类的font属性被标记为NS_DEPRECATED_IOS
解决办法:
在xcode3.0之后,建议使用UIButton对象的属性titleLabel设置文字大小。
代码如下:
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];
使用titleLabel设置文字大小后,试着不使用setTitle: forState:而是使用titleLabel.text设置UIButton对象的文字为“按钮好”,却按钮文字依然为“按钮”。
注意:UIButton有些属性是需要状态的,例如设置按钮文字,有以下四种状态:
UIControlStateNormal
UIControlStateHighlighted
UIControlStateDisabled
UIControlStateSelected
例如:
[btn setTitle:@"按钮" forState:UIControlStateNormal];
所以我们只能通过setTitle: forState:方法设置按钮文字。
标签:
原文地址:http://www.cnblogs.com/Zev_Fung/p/5409262.html