Динамическое создание и позиционирование UILabels разных размеров - PullRequest
0 голосов
/ 24 декабря 2011

Я создаю динамические UILabels и затем добавляю их в представление.Метки расположены в вертикальном положении.Например:

Метка 1

Метка 2

Метка 3

Каждая метка может быть разной высотыТаким образом, чтобы приспособить высоту, я использую следующий код.Метка 2 использует положение и высоту метки 1 для регулировки на виде.

    -(void) createAboutLabel 
{
    self.aboutLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.nameLabel.frame.origin.x, self.nameLabel.frame.origin.y + self.nameLabel.frame.size.height, self.view.frame.size.width - 10, 40)];

    self.aboutLabel.text = self.selectedVegetableCategory.about;
    self.aboutLabel.font = [Utility getFont:@"Sinhala Sangam MN" size:14];
 //   [self.aboutLabel sizeToFit];
    [self.aboutLabel setNumberOfLines:0];
    [self.aboutLabel setLineBreakMode:UILineBreakModeWordWrap];
    [self.aboutLabel sizeToFit];
    [self.scrollView addSubview:self.aboutLabel];
}

Я пытаюсь найти лучший способ достижения динамического расположения меток.

Есть предложения?

1 Ответ

1 голос
/ 24 декабря 2011

Передавая ширину и шрифт, можно получить высоту -

NSString * theText = myLabel.text; CGFloat width = myLabel.frame.size.width; CGSize theSize = [theText sizeWithFont: myLabel.font constrainedToSize: CGSize (width, MAXFLOAT) lineBreakMode: UILineBreakModeWordWrap];

Он вернет размер от этой высоты извлечения. CGFloat myLabelHeight = theSize.height;

Надеюсь, это должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...