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

标签 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
}

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

最佳答案

您实际上并不是在创建标签。

UILabel *label;

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

创建标签

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

关于ios - 以编程方式创建 UILabel 并设置其位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29455129/

相关文章:

iphone - 如何将 -mthumb 添加到 Xcode

ios - 如何存储电平数据

iphone - 如何使用CABasicAnimation从一个点移动到另一个点?

iOS 图片加载器效果

java - 如何在 Label JavaFX 中添加多行

iphone - 创建类似于所选 UITableViewCell 的 UILabel 背景

ios - 为什么文字是颠倒的?

ios - 在 UITabbarController 中为所有 View Controller 添加一个公共(public) View

objective-c - 初始化类对象的 NSMutableArray

ios - 当没有 self.view 时,如何找到 UIView...?