0

私のプロジェクトでは、次のように戻るボタンを処理するためにいくつかのコードを使用していました。

NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
if ([[VCs objectAtIndex:[VCs count] - 2] isKindOfClass:[LoginViewController class]])
{
    [VCs removeObjectAtIndex:[VCs count] - 2];
    [VCs removeObjectAtIndex:[VCs count] - 2];
}
[self.navigationController setViewControllers: VCs];

iOS 7 では、望ましい結果が得られています。ただし、iOS バージョン 8.2 の場合、変更可能な配列 VCs の値は、スタック内の現在または topViewController のみです。

ログイン画面のviewcontrollerをスタックから削除して、戻るボタンをクリックしてもログイン画面に戻らないようにしたい。iOS 8.2 でのみこの問題に直面しています (iOS 8 以降で発生する可能性があります)。何が問題になる可能性がありますか? 助けてください。

4

1 に答える 1

1

はい、あなたの指摘に正しい答えを出すことはできません。
しかし、あなたのコードを調べたところ、ナビゲーションのスタックでいくつかのログイン viewController を却下したいことがわかりました。
私の提案は次のとおりです。ログインViewControllerをそのように表示しないでください。これはある種のハックコードのようなものであり、ログインワークフローを拡張または変更するのは便利ではありません。適切な選択は、すべてのログイン ViewController を別のナビゲーションに配置し、ログイン サイクルで作業することです。プレゼントでナビを表示することができます。
本当に便利!

于 2015-11-13T11:45:16.043 に答える