我在viewController中定义了一个标签,我还设置了它@property
并合成它。我在viewDidLoad
中建立了文件所有者和UIlabel之间的链接。我正在尝试显示此字符串链接:
- (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
文件想要在视图上显示某些内容时,它不响应该代码。我该如何解决这个问题?
答案 0 :(得分: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
添加为子视图,以便实际显示。
答案 1 :(得分:0)
将viewDidLoad
更改为:
- (void)viewDidLoad
{
getname.text = @"hello";
[super viewDidLoad];
}
无需分配IBOutlet
。
答案 2 :(得分:0)
如果您在xib中添加了标签,请注释初始化行。
- (void)viewDidLoad
{
//getname = [[UILabel alloc] init];
getname.text = @"hello";
[super viewDidLoad];
}
答案 3 :(得分:-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];
}