添加多个UILabel,每个标签都有可变线

bad*_*053 2 iphone xcode objective-c ios

我有一个视图,我想要它和一组标签,但标签的数量和每个标签的文本长度各不相同.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
label.text = @"Varying text length here";
label.numberOfLines = 0;
[label sizeToFit];
[[self view] addSubview:label];
Run Code Online (Sandbox Code Playgroud)

当标签位于1-4行之间时,以25的设定距离以编程方式在此标签下添加另一个标签的最简单方法是什么?

ozz*_*ozz 5

试试这个:

CGFloat offset = 25.0f;

CGRect frame1 = CGRectMake(10, 100, 30, 50);

UILabel *label = [[UILabel alloc] initWithFrame:frame1];
label.text = @"Varying text length here";
label.numberOfLines = 0;
[label sizeToFit];
[[self view] addSubview:label];

CGRect frame2 = CGRectMake(10,
                           label.frame.origin.y + label.frame.size.height + offset,
                           300,
                           50);

UILabel *label2 = [[UILabel alloc] initWithFrame:frame2];
label2.text = @"Varying text length here";
label2.numberOfLines = 0;
[label2 sizeToFit];
[[self view] addSubview:label2];
Run Code Online (Sandbox Code Playgroud)

根据前一个标签的帧+25设置下一个标签的帧