-1

我在我的 viewController 中定义了一个标签,我还设置了它@property并合成了它。我已经在文件所有者和 UIlabel 之间建立了链接viewDidLoad。我正在尝试显示此字符串链接:

- (void)viewDidLoad {
    getname = [[UILabel alloc] init];
    getname.text = @"hello";
    [super viewDidLoad];
}

但该字符串未显示在 UIView 的标签上。请告诉我在 UIView 上显示字符串需要做什么。视图控制器和 nib 文件具有相同的名称。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    }
    return self;
}

但是当我添加viewcontroller.m文件想要在视图中显示某些内容时,它不会响应该代码。我怎样才能解决这个问题?

4

4 回答 4

0

如果您使用故事板...

听起来您正在使用情节提要,在这种情况下,您应该删除init,因为情节提要会为您处理:

- (void)viewDidLoad
{
    getname.text = @"hello";
    [super viewDidLoad];
}

通过使用init情节提要,您正在重新声明对象,因此情节提要找不到它。

如果您使用情节提要...

如果您不使用情节提要,则需要将标签添加到视图:

- (void)viewDidLoad
{
    getname = [[UILabel alloc] init];
    getname.text = @"hello";
    [self.view addSubview:getname];
    [super viewDidLoad];

}

该行将其[self.view addSubview:getname];添加UILabel为子视图,以便实际显示。

于 2012-11-16T13:50:30.330 回答
0

改变你的viewDidLoad喜欢:

- (void)viewDidLoad
{
    getname.text = @"hello";
    [super viewDidLoad];
}

无需分配IBOutlet.

于 2012-11-16T13:52:20.093 回答
0

如果您在 xib 中添加了标签,则注释初始化行。

- (void)viewDidLoad
{

//getname = [[UILabel alloc] init];


getname.text = @"hello";


[super viewDidLoad];

}
于 2012-11-16T13:54:19.413 回答
-1

只需将此功能替换为这段代码

- (void)viewDidLoad
{

    getname = [[UILabel alloc] init];


    getname.text = @"hello";

    [self.view addSubview:getname];

    [super viewDidLoad];

}

希望对你有帮助。。

此外,如果您在 .h 文件中使用 IBOutlet,请不要为其分配内存,因为它会自动分配内存。

因此,如果您使用过 IBOutlet 那么您的功能应该是

- (void)viewDidLoad
{

    getname.text = @"hello";

    [super viewDidLoad];

}
于 2012-11-16T13:52:02.227 回答