UILabel有一个属性值,叫adjustsFontSizeToFitWidth,看着名字就知道,他是用来让文字自动适应UILabel宽度的。
先看看显示效果:
测试用源码:
#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 250, 30)];
label.layer.borderWidth = 1.f;
CGPoint point = self.view.center;
point.y = 70;
label.center = point;
label.text = @"YouXianMing NoZuoNoDie";
label.textAlignment = NSTextAlignmentCenter;
label.adjustsFontSizeToFitWidth = YES;
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
[self.view addSubview:label];
}
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 30)];
label.layer.borderWidth = 1.f;
CGPoint point = self.view.center;
point.y = 120;
label.center = point;
label.text = @"YouXianMing NoZuoNoDie";
label.textAlignment = NSTextAlignmentCenter;
label.adjustsFontSizeToFitWidth = YES;
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
[self.view addSubview:label];
}
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 150, 30)];
label.layer.borderWidth = 1.f;
CGPoint point = self.view.center;
point.y = 170;
label.center = point;
label.text = @"YouXianMing NoZuoNoDie";
label.textAlignment = NSTextAlignmentCenter;
label.adjustsFontSizeToFitWidth = YES;
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
[self.view addSubview:label];
}
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 30)];
label.layer.borderWidth = 1.f;
CGPoint point = self.view.center;
point.y = 220;
label.center = point;
label.text = @"YouXianMing NoZuoNoDie";
label.textAlignment = NSTextAlignmentCenter;
label.adjustsFontSizeToFitWidth = YES;
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
[self.view addSubview:label];
}
}
@end
以下是核心代码:
网友评论