例如,目前共有 AUIViewController 跟 BUIViewController ,其中 AUIViewController 上頭有一個 AUIButton ,當點選完 AUIButton 時,做完一些要事,再切換到 BUIViewController。
開發上,在 Storyboard 上,先在 AUIViewController 點一下,並按住 AUIViewController + Ctrl 後(並非點 AUIButton),拉條線到 BUIViewController 上,以此建立一個 Storyboard Segue 叫做 "ChangeViewController",接著把 AUIButton 拉條線到 AUIViewController.m ,做個 IBAction ,代表點選 AUIButton 將發動的動作,剩下的程式碼:
AUIViewController:
- (IBAction)AUIButtonEvent:(id)sender {
// Step 1 : doing …
// Step N : fire a segue event
[self performSegueWithIdentifier:@"ChangeViewController" sender:sender];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"ChangeViewController"]) {
UIViewController *target = segue.destinationViewController;
if ([target isKindOfClass:[UINavigationController class]]) {
target = [[(UINavigationController *)target viewControllers] lastObject];
}
if([target isKindOfClass:[BUIViewController class]]) {
BUIViewController *v = (BUIViewController *)target;
// … other setting …
}
}
}
如此一來,當點選 UIButton 時,可以先做完事再切過去指定的 UIViewController 了,當然,也可以讓一個 UIButton 依照事件條件,切換到多個 UIViewController 。
沒有留言:
張貼留言