IOS-UILabel 自适应宽度

在做UIlabel的时候一直苦于没有好的方法来实时控制label的宽度,后来发现iOS自带一个sizeToFit的方法可以根据label里的文字来自动适应尺寸。
看下效果图:

SizeToFit副本.gif

附上代码:

@interface
ViewController ()
 
@property(strong, nonatomic) UITextField *textField;
@property(strong, nonatomic) UILabel *label;

@end

 @implementation ViewController

- (void)viewDidLoad {
         [super viewDidLoad];
   //按钮
    UIButton *btn =[[UIButtonalloc]initWithFrame:CGRectMake(60, 50, 200,40)];
    btn.backgroundColor = [UIColor grayColor];
    [btn setTitle:@"使用SizeToFit" forState:UIControlStateNormal];
    [btn addTarget:selfaction:@selector(btnEvent)forControlEvents:UIControlEventTouchUpInside];
     [self.view addSubview:btn];
 
   //textField
    _textField = [[UITextFieldalloc]initWithFrame:CGRectMake(60, 100, 200, 30)];
   [[NSNotificationCenterdefaultCenter]addObserver:self elector:@selector(changeTextField)name:UITextFieldTexDidChangeNotification object:nil];
    _textField.backgroundColor = [UIColor purpleColor];
    [self.view addSubview:_textField];
  
    //label   
    _label = [[UILabel alloc] initWithFrame:CGRectMake(60, 150, 40, 20)];

     _label.backgroundColor = [UIColor orangeColor];
      [self.view addSubview:_label];
}

 - (void)btnEvent{
    [_label sizeToFit];
}

 - (void)changeTextField{    
    _label.text = _textField.text;
}
@end

你可能感兴趣的:(IOS-UILabel 自适应宽度)