1

タップすると、パスコード変更ビュー コントローラーを表示するセルがあります。

else if (indexPath.row == 2) {
                //Change passcode
                NSString *passcode = [[NSUserDefaults standardUserDefaults] stringForKey:@"passcode"];
                PAPasscodeViewController *passcodeViewController = [[PAPasscodeViewController alloc] initForAction:PasscodeActionChange];
                passcodeViewController.delegate = self;
                passcodeViewController.passcode = passcode;
                passcodeViewController.simple = YES;
                [self presentViewController:passcodeViewController animated:YES completion:nil];
                break;

            }

キャンセルを押したときにパスコード変更ビューコントローラーを閉じるデリゲートコールバックメソッド:

- (void)PAPasscodeViewControllerDidCancel:(PAPasscodeViewController *)controller {
     [self dismissViewControllerAnimated:YES completion:nil];
//    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
//    [self.navigationController popViewControllerAnimated:YES];

}

ただし、xcodeデバッグがコードにヒットした場合でも、キャンセルボタンを押したときにパスコード変更ビューコントローラーを却下しません。[self.presentingViewController rejectViewControllerAnimated:YES completion:nil]; を試しました。それもうまくいきませんでした。presentingViewController プロパティは nil です。

以前は iOS 6 で完全に動作していました。以前にこの問題に遭遇した人はいますか? ありがとう

4

1 に答える 1

0

デリゲートを使用する代わりに、PAPasscodeViewController でこれを試すことができます。

[self removeFromParentViewController];
于 2013-10-11T20:10:18.957 に答える