iOS - pushViewController vs presentModalViewController difference

前端 未结 5 918
南旧
南旧 2021-02-01 17:17

What is the difference beetween calling presentModalViewController and pushViewController, when :

  • animation is set to NO (even if yes, th
5条回答
  •  忘掉有多难
    2021-02-01 18:12

    Ignoring transitions/animations and how things are structured behind the scenes (which aleph_null's alswer provides a good discussion of), the only user-facing difference is the ability to return to the preceding view automatically using the navigation bar.

    If you use pushViewController you will automatically get a "Back" button in the navigation bar. If you use presentModalViewController you do not, and generally will have to implement your own controls and/or callbacks to handle dismissing the controller.

    Conceptually the modal presentation style is generally used for atomic tasks that you cannot navigate away from (i.e. you either complete the task, or you cancel, and you cannot do anything else within the app until you do one or the other).

    If you're wondering why have the difference in the first place, I can't say. Personally I think frameworks that provide a unified API for moving from one controller to another (like cocos2d, or Android) make a lot more sense.

提交回复
热议问题