6 Replies
      Latest reply on Oct 27, 2019 1:52 PM by Claude31
      dknudsen Level 1 Level 1 (0 points)



        Switching from iOS 12 to 13 caused that our views no longer function correctly. This is due that when NavigationController.PushViewController is called, it no longer calls ViewWill/DidAppear and their opposite Will/DidDisappear. I have read the iOS 13 release notes and saw the video and everyhing that has been mentioned regarding these events is directed at presentation of card-like modal views, which has nothing to do with the PushViewController function. In iOS 12 the PushViewController would navigate to a new ViewController and therefrom I could click on the default back button to navigate back to the previous one and it called the relevant lifecycle events. That is no longer possible with iOS 13.


        The way our Views are constructed are quite old fashioned. We use XIB files to construct our Views and furthermore, this is done programmatically and the language used is Objective-C.


        Most of our views are based on UIViewControllers, UITables and UITableViewController.


        Now one thing I do know is that UITableViewController, through the use of ViewDidAppear/will, will call ReloadData to correctly set up the table, but since using PushViewController no longer calls these events, the layout will be broken.


        It could possibly something that we missed or havent understood about the framework, but I have written this after searching through countless websites about someone with a similar issue, but to no avail.


        An example of what happens can be seen below:



        What I expect it to call is


        ViewDidLoad --> ViewWillAppear --> ViewDidAppear


        and when leaving the View it will call these:


        ViewWillDisappear --> ViewDidDisappear --> ViewDidUnload(deprecated)



        And no other viewController lifecycles except for ViewDidLoad is called.

        This causes my view to look completely wrong.



        For some reason the two images i pasted in here arent visible.