以编程方式创建UILabel并设置其位置

时间:2015-04-05 07:32:56

标签: ios objective-c uilabel sizetofit

我想通过按钮单击以编程方式创建UILabel,并将其位置设置为x,y坐标:(50,50)。

文字大小可以在300个字符到2,000个字符之间变化,所以我正在使用:

[myLabel sizeToFit] 

设置标签的宽度和高度。

到目前为止,这是我的代码:

- (IBAction)createLabel:(id)sender {  //create label on button click

    UILabel *label;

    [label sizeToFit]; //set width and height of label based on text size

    //position label
    CGRect frame = label.frame;
    frame.origin = CGPointMake(50, 50);
    label.frame = frame;

    label.numberOfLines = 0;
    label.lineBreakMode = NSLineBreakByCharWrapping;
    label.text = @"This is where the text goes";

    [self.view addSubview:label];     //add label to view
}

当我运行程序时,它没有给我任何错误,但当我按下按钮创建标签时,没有任何显示。

1 个答案:

答案 0 :(得分:2)

您实际上并未创建标签。

UILabel *label;

只需声明一个变量,您永远不会初始化它或为其赋值。您需要引用现有标签,或者需要使用initWithFrame:

创建标签

另外,{<1}}应在分配完文本后完成。