如何在ios中基于其他元素更改元素的来源



抱歉,伙计们有一个简单的疑问,但我找不到任何答案。我的问题是我想在另一个元素的基础上改变元素的起源。为了更正确,例如,如果我有三个标签,我将每个标签逐一设置在相同的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];

您可以使用前一帧,因为您使用的是[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";

您可以让它变得简单:

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用于其他标签!

希望它能有所帮助!

相关内容

  • 没有找到相关文章

最新更新