iOS之UILabel显示内容自动换行

原文链接:点击打开链接

  1. 1UILabel内容自动换行  
  2. UIFont *fontName [UIFont systemFontOfSize:16.0f];  
  3. //定义字体大小  
  4. CGSize sizeName [orderFood.food_name   
  5. sizeWithFont:fontName constrainedToSize:CGSizeMake(130.0f,MAXFLOAT)
  6. // 这里最好用MAXFLOAT ,是系统的一定可以确保你换行成功
  7.  signLabel.text = [NSString stringWithFormat:@"%@",sigStr] ;

                    CGSize  size = [signLabel.text sizeWithFont:signLabel.font                 constrainedToSize:CGSizeMake(signLabel.frame.size.widthsignLabel.text.length)lineBreakMode:NSLineBreakByWordWrapping];

                    signLabel.frame = CGRectMake(signLabel.frame.origin.x, signLabel.frame.origin.y,size.width, size.height);

    之前我的代码中的高度,直接用字符串的长度来设置,结果如果字符串比较长的话可以换行成功,如果短一些都不能换行成功,原因不明

  8.  lineBreakMode:UILineBreakModeWordWrap];  
  9. //orderFood.food_name为字符串,即UILabel要显示的内容;fontName 字体大小;CGSizeMake(130.0f,MAXFLOAT) UILabel显示内容的宽度130.0fMAXFLOAT为显示内容所允许的最大高度,最终得到的sizeName,其width,heightwei值为显示内容所需显示的实际宽度与高度;UILineBreakModeWordWrap以单词为单位换行,以单词为单位截断。  
  10. //定义显示内容的UILabel,宽度为130,高度为经过sizeName.height  
  11. UILabel *lbFoodName [[UILabel alloc]initWithFrame:  
  12. CGRectMake(94, 2, 130, sizeName.height)];  
  13. [lbFoodName setText:orderFood.food_name];  
  14. [lbFoodName setBackgroundColor:[UIColor clearColor]];  
  15. [lbFoodName setFont:[UIFont systemFontOfSize:16.0f]];  
  16. [lbFoodName setNumberOfLines:0];  
  17. //注意这里UILabelnumberoflines(即最大行数限制)设置成0,即不做行数限制。  
  18. [lbFoodName setLineBreakMode:  
  19. UILineBreakModeWordWrap];  
  20. //UILabel加入到tvCell View中显示。  
  21. [tvCell.contentView addSubview:lbFoodName];  
  22.   
  23. 2UILineBreakModeWordWrap详细解释如下:  
  24. typedef enum  
  25.    UILineBreakModeWordWrap 0,  
  26.    UILineBreakModeCharacterWrap,  
  27.    UILineBreakModeClip,  
  28.    UILineBreakModeHeadTruncation,  
  29.    UILineBreakModeTailTruncation,  
  30.    UILineBreakModeMiddleTruncation,  
  31. UILineBreakMode;  
  32.   
  33.   
  34.    UILineBreakModeWordWrap 0,  
  35.    以单词为单位换行,以单词为单位截断。  
  36.    UILineBreakModeCharacterWrap,  
  37.    以字符为单位换行,以字符为单位截断。  
  38.    UILineBreakModeClip,  
  39.    以单词为单位换行。以字符为单位截断。  
  40.    UILineBreakModeHeadTruncation,  
  41.    以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。  
  42.    UILineBreakModeTailTruncation,  
  43.    以单词为单位换行。无论是单行还是多行,都是末尾有省略号。  
  44.    UILineBreakModeMiddleTruncation,  
  45.    以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。  
  46.   
  47. 3UITextView根据内容自动调整高度与此类似,不多做说明。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值