2012-11-16 49 views
-1

我在我的viewController中定義了一個標籤,我也設置了其@property並將其合成。我在viewDidLoad中建立了文件所有者和UIlabel之間的鏈接。我試圖顯示這個字符串鏈接:在uiview上沒有顯示文字

- (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

是IBOutlet的標籤嗎? –

+0

你使用xib?或者想要以編程方式創建標籤? – QueueOverFlow

+0

yes iboutlet – raza

回答

-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]; 

} 
+0

如果您有'IBOutlet',則不需要使用'addSubview'。 – woz

+0

由於其工作 – raza

+0

但溫和解決我的另一個問題,我想顯示從另一個視圖控制器的一個文本框這個文本框的文字,這就是我想從一個視圖控制器上第二個觀點controlelr – raza

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添加爲子視圖,以便它實際顯示出來。

0

更改viewDidLoad這樣的:

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

沒有必要分配一個IBOutlet的。

0

如果您在xib中添加了標籤,請註釋初始化行。

- (void)viewDidLoad 
{ 

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


getname.text = @"hello"; 


[super viewDidLoad]; 

}