IOS7在segue之前更改不同视图中标签的值(相同控制器)

时间:2014-01-18 15:19:16

标签: ios objective-c

我的Storyboard中有两个简单的视图,并且都使用相同的ViewController。我有以下代码来切换第二个视图...

self.labelStatus.text = @"CHECKING";
[self performSegueWithIdentifier:@"LoginSuccess" sender:sender];

* labelStatus位于第二个视图中。

由于某种原因,标签文字没有变化。任何人都可以建议这是为什么?

3 个答案:

答案 0 :(得分:1)

您可以在destinationViewController方法中自定义prepareForSegue:(属性,视图等),该方法在执行segue之前调用:

- (void)prepareForSegue:(UISegue *)segue {
    if ([segue.identifier isEqualToString:@"mySegue"]) {
        UIViewController *destVC = segue.destinationViewController;
        // do your customisation
    }
}

答案 1 :(得分:1)

[self performSegueWithIdentifier:@"LoginSuccess" sender:sender];

//更改prepareForSegue:方法

中的标签值
- (void)prepareForSegue:(UIStoryboardSegue *)segue {
    if ([segue.identifier isEqualToString:@"LoginSuccess"]) {
        UIViewController *loginVC = segue.destinationViewController;

       //declare the string in .h file and assign it in viewDidLoad in loginVC

        loginVC.labelString = @"CHECKING";
    }
}
<{1>}文件中的

loginViewController.h
<{1>}文件中的

@property(nonatomic, strong) NSString *labelString;

答案 2 :(得分:0)

编辑 - 如果需要在同一视图控制器中更改标签,则应修改prepareForSegue方法中的标签。