Andrey
Andrey

Reputation: 311

Back to the previous view in UINavigationViewController is not animated when pressed on the back button

UITabBarController is the root in may application. The root of each tab is different UINavigationViewController on which I am pushing UITableViewController's.

The problem is that when I press on the back button the navigation bar animates, but the previous table view appears instantly without animation. Neither UITableViewController nor UINavigationViewController is sub-classed and I have no any custom code for pop functionality.

Some time ago, when I was working on the other iOS application, I had not such problem. The only difference is that now I am working with XCode 4 and iOS 5 SDK.

I have spent a lot to find the answer but haven't found anything similar.

Any clue?

Upvotes: 2

Views: 568

Answers (3)

user3441955
user3441955

Reputation: 161

Do not do any UI updation task in background thread or dispatch asyncq background queue in ios 7 ,if you are doing any ui related task then do it in main queue.Eg.

        dispatch_async(dispatch_get_main_queue(), ^
                       {
                       //update ui
                       }

This will solve navigation controller animation related issue.

Upvotes: 0

Andrey
Andrey

Reputation: 311

I have finally found the problem: I have set accidentally my root view to be subview of the window

[self.window addSubview:rootController.view];

rather than

self.window.rootViewController = rootController;

Once I have fixed it the problem gone:)

Upvotes: 0

sbezboro
sbezboro

Reputation: 113

I was struggling with this myself for quite a while. In my case the problem ended up being me accidentally overriding viewDidAppear and not calling [super viewDidAppear:animated] in my custom UITabBarController class.

Once I got rid of that the issue finally went away.

Upvotes: 2

Related Questions