我的故事板中有 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 方法中修改标签。