如何在Objective c中动态设置UILabel高度?

时间:2016-12-01 05:45:01

标签: ios objective-c uilabel

我是iOS新手,我面临着动态创建UILabel的问题。我需要根据来自webservice的数据更改其高位和Y位置。 我的代码就像这样

 NSMutableArray *remarkarray =[[NSMutableArray alloc] init];
            remarkarray=[responsedict valueForKey:@"Key"];
            NSString *RemarkString=[NSString stringWithFormat:@"%@",[remarkarray objectAtIndex:0]];
            remarklbl.text=RemarkString;
            remarklbl.numberOfLines=0;
            [remarklbl sizeToFit];

我已经像这样创建了UILabel

enter image description here

但是它的Y位置是固定的。我需要创建一个UILabel,我可以根据其中的文本更改高度和Y位置。喜欢这个

enter image description here

提前致谢!

3 个答案:

答案 0 :(得分:2)

您可以通过在Storyboard中声明两个标签来轻松完成。

以下是步骤。

  1. 在viewController中拖动两个UILabel,然后选择第一个UILabel并设置下图所示的约束。
  2. enter image description here

    1. 选择第二个标签并添加以下约束。
    2. enter image description here

      1. 选择两个标签并将numberOfLines设置为零。
      2. 现在你可以从代码中动态设置文本。

        Adding text from code... Output here..

答案 1 :(得分:0)

您所要做的就是:

 float x=10.0,y=10.0,height=40;
 float verticalSpace=20.0;


for (int i = 0; i < 10; i++)
 {
    UILabel *label =  [[UILabel alloc] initWithFrame: CGRectMake(x, y,50,height)];
    label.text = @"dummy text";// It could be from array as well if you want to add different text for each label. Eg:  label.text =  [arr objectAtIndex:i];
    [self.view addSubview:label];
    y = y +height+ verticalSpace;

 }

答案 2 :(得分:0)

您可以搜索关键字&#34;自动布局动态标签高度&#34;