说明:使用sizeWithFont方法前需要把frame和font都设置好,后面的constrainedToSize是label最大的size,如果达到了最大尺寸仍然显示不下会显示"...",也可以直接使用sizeWithFont方法.
UILabel *lab = [[UILabel alloc]init];
lab.frame = CGRectMake(20, 100, 200, 20);
lab.textColor = [UIColor blackColor];
lab.backgroundColor = [UIColor redColor];
[self.view addSubview:lab];
lab.numberOfLines = 0;
lab.font = [UIFont systemFontOfSize:20];
lab.text = @"发附件发看风景AFAF按个发发按揭房AF发 发;案件开发啊发发发货了个发浪费哈发啊发立法法里复活了方法来发挥看风景AFAF按个发发按揭房AF发 发;案件开发啊发发发货了个发浪费哈发啊发立";
CGSize titleSize = [lab.text sizeWithFont:[UIFont systemFontOfSize:20.0f] constrainedToSize:CGSizeMake(self.view.frame.size.width-40, 200)];
lab.frame = CGRectMake(20, 100, titleSize.width, titleSize.height);
NSLog(@"%f---%f",titleSize.width,titleSize.height);