2011-12-24 7 views
0

私は動的UILabelsを作成し、ビューに追加しています。ラベルは縦にレイアウトされています。このように:異なるサイズの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]; 
} 

私は動的ラベルレイアウトを実現するためのより良い方法を探しています。

提案がありますか?

+2

あなたの問題は何か分かりません。あなたは明確にしていただけますか? – MadhavanRP

+1

私はあなたが何を求めているのか分かりません。 – Steve

+0

私は元の質問を更新しました! – azamsharp

答えて

1

幅&フォントを通過させることにより、高さを取得することができる -

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;

希望します。

+0

これは役に立ちます!ありがとうございました! – haifacarina

関連する問題