Reputation: 311
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
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
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
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