标签文本未包装

时间:2012-08-18 06:40:57

标签: iphone ios xcode

我在表格视图中指定了一个标签,但标签中的文字在太长时间内不会换行到下一行。

我的代码如下:

UILabel *food_lbl=[[UILabel alloc]init];
foodspe = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults]valueForKey:@"food"]];
foodspe = [foodspe stringByReplacingOccurrencesOfString:@"(" withString:@""];
foodspe = [foodspe stringByReplacingOccurrencesOfString:@")" withString:@""];
foodspe = [foodspe stringByReplacingOccurrencesOfString:@"\n" withString:@""];
foodspe = [foodspe stringByReplacingOccurrencesOfString:@" " withString:@""];

food_lbl.text = foodspe;
food_lbl.numberOfLines=2;
food_lbl.lineBreakMode=UILineBreakModeWordWrap;

[food_lbl setFrame:CGRectMake(100, 0, 150, 100)];
[food_lbl setFont:[UIFont boldSystemFontOfSize:25.0f]];
[cell.contentView addSubview:header];

e.g。 food_lblpaneer,panjabi,pasta,pizza,Puff,chocolates

4 个答案:

答案 0 :(得分:0)

你试过这个吗?

food_lbl.numberOfLines=0;

答案 1 :(得分:0)

转到xib中的UILabel属性并使Autoshrink YES。

答案 2 :(得分:0)

我会建议两个选项,

  • 使用此方法查找文本标签所需的高度 把它设置为:

CGFloat height = [foodspe sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(food_lbl.frame.size.width, 500) lineBreakMode:UILineBreakModeWordWrap].height;

  • 在输入文字的每个单词之间添加一个空格。这会将此paneer,panjabi,pasta,pizza,Puff,chocolates更改为paneer, panjabi, pasta, pizza, Puff, chocolates

答案 3 :(得分:0)

如果您列出的代码(如下所示)恰好在您的项目中使用,那么您将添加错误的标签。

UILabel *food_lbl=[[UILabel alloc]init];
...
[cell.contentView addSubview:header];

您正在添加标题,而不是新创建的 food_lbl