您的位置:首页 > 产品设计 > UI/UE

IOS之UILabel显示内容自动换行

2014-08-04 17:13 489 查看


IOS之UILabel显示内容自动换行

博客分类: 

IOS移动开发IOSUILabel自动换行UITextView 

Cpp代码  


1、UILabel内容自动换行  

UIFont *fontName = [UIFont systemFontOfSize:16.0f];  

//定义字体大小  

CGSize sizeName = [orderFood.food_name   

sizeWithFont:fontName constrainedToSize:CGSizeMake(130.0f,MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];  

//orderFood.food_name为字符串,即UILabel要显示的内容;fontName 字体大小;CGSizeMake(130.0f,MAXFLOAT) UILabel显示内容的宽度130.0f,MAXFLOAT为显示内容所允许的最大高度,最终得到的sizeName,其width,heightwei值为显示内容所需显示的实际宽度与高度;UILineBreakModeWordWrap以单词为单位换行,以单词为单位截断。  

//定义显示内容的UILabel,宽度为130,高度为经过sizeName.height。  

UILabel *lbFoodName = [[UILabel alloc]initWithFrame:  

CGRectMake(94, 2, 130, sizeName.height)];  

[lbFoodName setText:orderFood.food_name];  

[lbFoodName setBackgroundColor:[UIColor clearColor]];  

[lbFoodName setFont:[UIFont systemFontOfSize:16.0f]];  

[lbFoodName setNumberOfLines:0];  

//注意这里UILabel的numberoflines(即最大行数限制)设置成0,即不做行数限制。  

[lbFoodName setLineBreakMode:  

UILineBreakModeWordWrap];  

//将UILabel加入到tvCell 的View中显示。  

[tvCell.contentView addSubview:lbFoodName];  

  

2、UILineBreakModeWordWrap详细解释如下:  

typedef enum {  

   UILineBreakModeWordWrap = 0,  

   UILineBreakModeCharacterWrap,  

   UILineBreakModeClip,  

   UILineBreakModeHeadTruncation,  

   UILineBreakModeTailTruncation,  

   UILineBreakModeMiddleTruncation,  

} UILineBreakMode;  

  

  

   UILineBreakModeWordWrap = 0,  

   以单词为单位换行,以单词为单位截断。  

   UILineBreakModeCharacterWrap,  

   以字符为单位换行,以字符为单位截断。  

   UILineBreakModeClip,  

   以单词为单位换行。以字符为单位截断。  

   UILineBreakModeHeadTruncation,  

   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。  

   UILineBreakModeTailTruncation,  

   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。  

   UILineBreakModeMiddleTruncation,  

   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。  

  

3、UITextView根据内容自动调整高度与此类似,不多做说明。  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: