テキストUILabel
に応じて設定する方法ですが、テキストが小さい場合は、背景色が黒でテキストが小さい背景ラベルが表示され、その逆も同様です。どうすればよいですか?backGroundColor
画像では、動的テキストに応じて黒い背景色が使用されています。インドのテキストまで黒の背景色が必要です。
テキストUILabel
に応じて設定する方法ですが、テキストが小さい場合は、背景色が黒でテキストが小さい背景ラベルが表示され、その逆も同様です。どうすればよいですか?backGroundColor
画像では、動的テキストに応じて黒い背景色が使用されています。インドのテキストまで黒の背景色が必要です。
UILabel がすべてのテキストに収まるようにするには sizeToFit を使用します
[label sizeToFit];
写真の背景のサイズをラベルのサイズに合わせたい場合は、イメージビューを取得します
imageView.frame = CGRectMake(0, 0, label.frame.size.width, label.frame.size.height);
または、ラベルの背景色のみが必要な場合は、使用します
[label setBackgroundColor:[UIColor blackColor]];
これを試して
NSString *sample = @"...";
CGSize txtSz = [sample sizeWithFont:[UIFont fontWithName: @"Helvetica" size: 16]];
CGRect lblFrame = CGRectMake(10,50, txtSz.width, txtSz.height);
yourLabel.frame = lblFrame;
yourLabel.backgroundColor = [UIColor blackColor];
これは私のアプリで行われます。
label.text = @"Some text" ;
CGSize textSize = [label.text sizeWithFont:label.font];
backView.frame=CGRectMake(startPointX, startPointY, textSize.width, 1);
ここでは、ラベルの裏側に新しいビューを作成する必要があります。その名前は backview で、そのビューのフレームを設定し、それが私のアプリで完全に機能することを示します :-)
テキストの幅を計算し、ラベル フレーム幅に割り当てます。
次のコードはあなたを助けるかもしれません
UILabel *biotitlelb = [[UILabel alloc]initWithFrame:CGRectMake(0,0,100,16)];
[biotitlelb setTextColor:[UIColor whiteColor]];
[biotitlelb setBackgroundColor:[UIColor blackColor]];
biotitlelb.textAlignment = UITextAlignmentLeft;
biotitlelb.font = [UIFont fontWithName:@"ArialMT" size:12];
biotitlelb.text = @"sometext";
CGSize textSize = [biotitlelb.text sizeWithFont:[UIFont fontWithName:@"ArialMT" size:12]];
CGFloat strikeWidth = textSize.width;
[biotitlelb setframe:CGRectMake(0,0,strikeWidth,16)];