[objective-c]Xcode-以编程方式创建 UILabel 并设置其位置

发布时间: 2016/11/20 3:17:44
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

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

到 2000 个字符,所以我现在用的 300 个字符之间的文本大小会有所不同︰

[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:

你实际上并不创建一个标签。

UILabel *label;

只是声明一个变量,你永远不会初始化它,或将一个值分配给它。你也需要对现有标签的引用或您需要创建一个使用initWithFrame:

此外, sizeToFit 应该做你已经分配的文本。

赞助商