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



我的故事板中有 2 个简单的视图,它们都使用相同的视图控制器。我有以下代码来切换第二个视图...

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

*标签状态位于第二个视图上。

由于某种原因,标签文本没有更改。谁能建议为什么会这样?

[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";
    }
}

loginViewController.h文件中

@property(nonatomic, strong) NSString *labelString;

loginViewController.m文件中

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.labelStatus.text = labelString
}

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

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

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

最新更新