1

对不起,伙计们有一个简单的疑问,但我找不到任何答案。我的问题是我想根据其他元素更改元素的来源。为了更正确,例如,如果我有三个标签,我将每个标签设置在相同的 x 轴但不同的 y 轴上。如果第一个标签内容增加,第二个和第三个标签的 y 轴应该自动增加。所以我怎么计算它..

 UILabel *label1 =[[ UILabel alloc]init];
label1.frame=CGRectMake(10, 50, 10, 150);
label1.text=@"Favorite Cuisine ";

[ViewProfileResultSrollview addSubview: label1];

[label1 sizeToFit];
label1.textColor=[UIColor grayColor];

UILabel *label2 =[[ UILabel alloc]init];
label2.frame=CGRectMake(10, 80, 10, 150);
label2.text=@"Preferred Dress Style";

[ViewProfileResultSrollview addSubview: label2];

[label2 sizeToFit];
label2.textColor=[UIColor grayColor];

UILabel *label3 =[[ UILabel alloc]init];
label3.frame=CGRectMake(10, 120, 10, 150);
label3.text=@"Spoken Languages";

[ViewProfileResultSrollview addSubview: label3];

[label3 sizeToFit];
label3.textColor=[UIColor grayColor];
4

2 回答 2

0

你可以让它变得简单:

float        currHeight = 7.0;
UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0.0, currHeight, self.view.frame.size.width, 0.0)];
[label setText: @"your text"];
[label sizeToFit];

CGRect labelFrame = label.frame;
labelFrame.size.height = label.contentSize.height;
label.frame            = labelFrame;

[self.view addSubview: label];

currHeight += label.frame.size.height + 5;

您可以将 currHeight 用于其他标签!

希望它会有所帮助!

于 2013-08-05T12:48:21.777 回答
0

您可以使用上一帧,因为您正在使用[label1 sizeToFit];

下面是标签 2 的示例:

UILabel *label2 =[[ UILabel alloc]init];
label2.frame=CGRectMake(10, label1.frame.origin.y+label1.frame.size.height+30, 10, 150);
label2.text=@"Preferred Dress Style";
于 2013-08-05T12:39:25.947 回答