iOS UIlabel 自动换行,文字自适应

来源:互联网 发布:非递归后序遍历c语言 编辑:程序博客网 时间:2024/06/05 17:52

第一种方法:直接设置label的属性: label.lineBreakMode NSLineBreakByWordWrapping;

这种方法适用于文字比较少,而label的大小比较大到可以容纳所有文字


第二种方法:文字比较多,需要动态根据文字来调整label的大小以显示所有文字



 //初始化label

   UILabel *label =[[UILabel allocinitWithFrame:CGRectMake(0,0,0,0)];

   //设置自动行数与字符换行

  [label setNumberOfLines:0];

   label.lineBreakMode NSLineBreakByWordWrapping;

   // 测试字串

   NSString *s= @"从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,从来就没有什么救世主,v从来就没有什么救世主,v";

 

   //设置一个行高上限

    CGSize size= CGSizeMake(320,2000);

   //计算实际frame大小,并将labelframe变成实际大小

   CGSize size01 =[s sizeWithFont:[UIFont systemFontOfSize:15.0fconstrainedToSize:sizelineBreakMode:NSLineBreakByWordWrapping];

   [label setFrame:CGRectMake(10,50, size01.width, size01.height)];

    label.text = s;

原创粉丝点击