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_lbl_paneer,panjabi,pasta,pizza,Puff,chocolates

4

4 に答える 4

0

リストされたコード (以下に示す) がプロジェクトで正確に使用されている場合は、間違ったラベルを追加しています。

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

新しく作成されたfood_lblではなく、ヘッダーを追加しています。

于 2012-08-18T09:14:47.767 に答える
0

Have you tried this ?

food_lbl.numberOfLines=0;
于 2012-08-18T06:44:52.900 に答える
0

xib の UILabel プロパティに移動し、Autoshrink を YES にします。

于 2012-08-18T06:48:33.327 に答える
0

2つのオプションを提案します。

  • このメソッドを使用して、テキスト ラベルに必要な高さを見つけ、それに設定します。

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 に答える