你的位置:首页 > 操作系统

[操作系统]初学IOS遇到的问题(三)UIButton修改文字大小问题


问题:

创建UIButton对象,设置对象显示文字“按钮”,然后修改文字大小,很自然点出对象的font属性,却发现该属性在2.0.3.0就已经被废弃,ios不建议使用。应该如何修改UIButton对象的文字大小?

UIButton.font被废弃了

 

图1-1:点出UIButton对象的font属性提示被废弃

UIButton类

图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有些属性是需要状态的,例如设置按钮文字,有以下四种状态:

UIControlStateNormalUIControlStateHighlightedUIControlStateDisabledUIControlStateSelected

例如:

[btn setTitle:@"按钮" forState:UIControlStateNormal];

 所以我们只能通过setTitle: forState:方法设置按钮文字。