2015-04-05 67 views
1

我想从buttom click中以编程方式创建UILabel,并将其位置设置为x,y坐标:(50,50)。Xcode - 以编程方式创建UILabel并设置其位置

文本大小可以这样我使用300个字符之间变化2000个字符:

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

它不给我任何错误,当我运行程序,但是当我按下按钮,创建一个标签,什么也不显示。有谁知道我做错了什么?

回答

2

您实际上并未创建标签。

UILabel *label; 

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

另外一个,sizeToFit应做后您指定的文本。

+0

这工作。 UILabel * label = [[UILabel alloc] init];我还在文本后添加了sizeToFit。非常感谢! :) – hmzfier 2015-04-05 07:50:47

相关问题