0

編集:解雇を含むコードを追加しました。

新しいデータ

問題は、解雇ラインが変更されていることを除いて、古いデータの下にリストされている問題と同じままです。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
    if([title isEqualToString:@"Yes"])
    {
        NSLog(@"Calling Dismissal...");
        [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
    }
}

ログに「CallingDismissal...」が表示されているため、関数が呼び出されています。

現在の階層:UITabBarController-NavigationController / NavigationController-View1 / View2

古いデータ

質問が紛らわしい場合は、モーダルで提示したよりもUITabBarControllerを却下しようとしています。UITabBarControllerは、NavigationControllersを使用して内部の2つのビューを設定します。ただし、parentViewControllerをいくつ入れても

(すなわち):

[self.parentViewController.parentViewController.etc... dismissViewControllerAnimated:YES completion:nil];

UITableBarControllerは閉じません。上記のコード行を呼び出しているボタンが両方のビューのNavigationControllerに配置されています。UITableViewControllerを閉じる方法に関するヒントはありますか?

4

1 に答える 1

0

親View Controllerと同じ概念ではない、表示側のView Controllerは、それを閉じる必要があります。このコード:

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

通常、トリックを行います。

ただし、このコントローラーの機能に応じて、私は通常、提示されたコントローラーに委任メッセージまたはNSNotification親に送信させることを好みます。これにより、親は、破棄される前に必要なデータを抽出できます。

于 2013-01-23T21:34:33.367 に答える