Как установить метку в соответствии с текстом, но я также хочу цвет фона

Как установить UILabel в соответствии с текстом, но я хочу, чтобы backGroundColor также был в нем, если текст маленький, то он будет отображать маленькую фоновую метку с черным цветом фона и текстом и наоборот. Как это сделать?

введите здесь описание изображения

На изображении черный цвет фона соответствует динамическому тексту. Я хочу черный цвет фона до текста Индия.


person amit rajput    schedule 06.11.2012    source источник
comment
пожалуйста, уточните амид...   -  person IronManGill    schedule 06.11.2012


Ответы (5)


Попробуй это

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];
person Arvind Kanjariya    schedule 06.11.2012

для UILabel, чтобы он соответствовал всему тексту, используйте sizeToFit

[label sizeToFit];

Если вы хотите, чтобы размер фона изображения соответствовал размеру этикетки, сделайте просмотр изображения

imageView.frame = CGRectMake(0, 0, label.frame.size.width, label.frame.size.height);

или если вам нужен только цвет фона метки, используйте

[label setBackgroundColor:[UIColor blackColor]];
person Raheel Sadiq    schedule 06.11.2012

Рассчитайте ширину текста и назначьте ее ширине рамки метки.

person Sanoj    schedule 06.11.2012

это сделано в моем приложении вам должно понравиться сделал это

    label.text = @"Some text" ;

                        CGSize textSize = [label.text sizeWithFont:label.font];

                        backView.frame=CGRectMake(startPointX, startPointY, textSize.width, 1);

здесь вы должны создать новый вид на обратной стороне этикетки, и это имя называется backview, и установить рамку этого вида, а затем показать, что он отлично работает в моем приложении :-)

person Waseem Shah    schedule 06.11.2012

Следующий код может помочь вам

        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)];
person Rahul Patel    schedule 06.11.2012