【问题标题】:Create UILabel programmatically and set its position以编程方式创建 UILabel 并设置其位置
【发布时间】:2015-06-09 21:32:46
【问题描述】:

我想通过单击按钮以编程方式创建 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
}

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

【问题讨论】:

    标签: ios objective-c uilabel sizetofit


    【解决方案1】:

    您实际上并没有创建标签。

    UILabel *label;
    

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

    另外,sizeToFit 应该在您分配文本之后完成。

    【讨论】:

    • 这行得通。 UILabel *label = [[UILabel alloc] init];我还在文本后面添加了 sizeToFit。太感谢了! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多