を使用していない場合UINavigationController
は、モーダル ビューを呼び出すビュー コントローラーに次のようなものを配置できます。
-(void)dismissModalViewControllerAnimated:(BOOL)animated{
if (_someFlagForBeingProperlyLoggedIn) [super dismissModalViewControllerAnimated:animated];
}
ページカールをタップすると、提示/親ビューコントローラーが送信されdismissModalViewControllerAnimated:
ます。
ナビゲーション コントローラーを使用しているため、オプションは限られています。これはUINavigationController
が のサブクラスでUIViewController
あり、自己中心的なものだからです。ページカールをクリックすると、dismissModalViewControllerAnimated: が呼び出されます。
上記のメソッドをサブクラス化して実装するオプションはまだありますがUINavigationController
、急いで面倒になります。
UIAlertView をモーダル ログイン ビューに「直接戻す」ことは非常に簡単です。そのメイン ビューをUIAlertViewDelegate
プロトコルに準拠させます。アラートを表示すると、そのインスタンスがデリゲートとして設定され、そのクラスでメソッドが実装されます。
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
// Enclose in if (buttonIndex == #) for selective calling
UINavigationController* nav = (UINavigationController*)[[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"Preferences"];
[nav setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self.navigationController presentModalViewController:nav animated:YES];
}
次に、アラート ビューを閉じると、「ログイン」ビューが表示されます。