0

我在表格视图中分配了一个标签,但是标签中的文本在太长时不会换行到下一行。

我的代码如下:

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];

例如food_lblpaneer,panjabi,pasta,pizza,Puff,chocolates

4

4 回答 4

0

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

于 2012-08-18T06:48:33.327 回答
0

Have you tried this ?

food_lbl.numberOfLines=0;
于 2012-08-18T06:44:52.900 回答
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
于 2012-08-18T08:59:47.953 回答
0

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

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

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

于 2012-08-18T09:14:47.767 回答