2013-05-14 114 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

相关问题