2017-02-08 1 views
0

View Controller内のDismiss機能に問題があります。Dismissは複数のビューを削除します

最初からやり直してください。

    私は自分のアプリにログインしてメインのダッシュボードページに移動します。
  • 私のナビゲーションボタンをクリックすると、モデルとして開いているナビゲーションページが開きます。
  • ナビゲーションページでは、ボタンをクリックしてプロフィールを表示します。
  • 私のプロフィールページでは、編集アイコンを選択してプロフィール編集ページに行きます。
  • プロフィールの編集ページで、私はアバターを選択することを選択します。

最後に私は5つの異なるページを開きます。最後のページを閉じると、ナビゲーションに戻ってきて3ページが消えてしまいます。最後に表示されたビューコントローラだけが終了するようにする必要がありますか?

は、私はこのような開かれたアバターを選択するページがあります。

私はページ上の私のアバターを選択している
let storyBoard: UIStoryboard = UIStoryboard(name: "Profile", bundle: nil) 
let viewController = storyBoard.instantiateViewController(withIdentifier: "UserAvatarController") as! UserAvatarController 
viewController.modalPresentationStyle = .popover 
viewController.avatars = self.avatars 
viewController.delegate = self 

self.navigationController?.pushViewController(viewController, animated: true) 

ボタンをクリックすると、それは、このトリガー:

if (self.selectedImage > -1) { 
    self.delegate?.selectAvatar(imageId: self.selectedImage) 
} 

self.dismiss(animated: true, completion: nil) 

その後、私はナビゲーションページに戻って、プロフィール編集ページからすべてのデータを失います。

+0

なぜ私の質問に印を付けますか? – mic

答えて

3

私はあなたがpushViewControllerでビューを開いていて、閉じているビューを閉じていると思います。

あなたはポップでビューを閉じることになっています。

_ = navigationController?.popViewController(animated: true) 

これはちょうどそれが戻って前のビューコントローラに移動しますnavigationController?.popViewController(animated: true) を行い、あなたの問題

+0

ありがとうございました。私はこのすべてのハングアップを得るでしょう、おそらくリンゴがすべてそれを再び変える前に – mic

1

を修正することを願っています。

関連する問題