`
ytwhw
  • 浏览: 97097 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

IOS之UILabel显示内容自动换行

阅读更多
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根据内容自动调整高度与此类似,不多做说明。

 

分享到:
评论
1 楼 吃饱了就饿 2012-12-25  
不错啊,很清晰,学习学习

相关推荐

Global site tag (gtag.js) - Google Analytics