"back" text displayed in iOS7 UINavigationBar when view title is long
ios7, objective-c, uinavigationbar, uinavigationcontroller
Solution
In iOS 7 you will not be allowed to set the back button's title to be any longer than 11 characters.
To avoid changing the title of the view controller, but to change the back button's title, you need to do this:
In the previous view controller (the one that will have the next view controller pushed on top of it) you need to set the backBarButtonItem like so:
/**
* Notifies the view controller that its view was added to a view hierarchy.
*
* @param animated If YES, the view was added to the window using an animation.
*/
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.title = @"My Title Can Be Long";
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"ThisIsLimit"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
}
Now, when the next view controller is pushed on top of it, the back button will be whatever title you put in the backBarButtonItem.
Problem
In my application,I need to show the previous viewController title to current viewController back title. Its working perfectly in iOS6. In iOS7,automatically the "back" title displayed other than the previous viewController title. how to fix the issue in iOS7?