2013-05-14 112 views
0

在我的iPhone應用程序中,我有2個UIControls一個ViewController.h和一個selectionScreen.h。如何從另一個UIView更改一個UIView上的標籤

的selectionScreen被設置爲使

@interface selectionScreen : ViewController{ 

我試圖改變被放置在主視圖控制器的標籤,從selectionScreen

到目前爲止,我有這個SelectionScreen.m內( personTotal1.text是在其他UIcontrol標籤)

- (IBAction)Change:(id)sender{ 
    int x=123; 
    NSString *y =[NSString stringWithFormat:@"%i",x]; 
    personTotal1.text=y; 
    NSLog(@"%@",personTotal1.text); 
} 

當我NSLog的檢查,如果該值已更改它返回null,我怎樣才能使它所以INTE 「選擇」屏幕中的更改(例如按下按鈕)會更改另一個屏幕中的標籤文本。

+0

這些真的不同'UIViewControllers',或者你真的指它們不同'UIControls'?無論如何,我會建議聲明,然後設置一個弱引用到你想改變對象的UILabel,你要改變它。 –

回答

1

在您的瀏覽器:

你設置你的personTotal1伊娃的財產?只需設置伊娃是不夠的:

UILabel *personTotal1; 

您需要設置屬性和合成getter和setter方法,像這樣:

@property(nonatomic, retain) UILabel *personTotal1; 

如果您正在使用ARC然後它會像這樣:

@property(nonatomic, strong) UILabel *personTotal1; 

然後一定要合成標籤。現在將ViewController.h導入SelectionScreen文件。從那裏你可以訪問UILabel屬性。希望這有助於,如果不讓我知道,我可以澄清。

+0

嘿謝謝你的回覆, 我已經設置了屬性,並在ViewController.m內合成,但我仍然有問題。還有什麼可能導致這個問題? 在此先感謝, – user2383749

+0

嘿夥計,不用擔心爲我自己。但感謝您的建議:) – user2383749

+0

我有同樣的問題...你能分享你的解決方案嗎? – Billy

相關問題