Hi, I have a navigation controller and in it a view controller:
-NavigationController1
--MyViewController
And as well I have another navigation controller - NavigationController2. I want to call MyViewController from another view controller - ViewController2, that was pushed into NavigationController2. -NavigationController2 --ViewController2
I do it in the following way:
@implementation ModifyDicVController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationItem.rightBarButtonItem = [ [ [UIBarButtonItem alloc]
initWithBarButtonSystemItem:
UIBarButtonSystemItemAdd target:self
action:@selector(add_clicked)] autorelease];
}
-(void) add_clicked
{
[navigationController pushViewController: addWordsVController animated: YES];
}
@end
And here is the viewWillAppear method of MyViewController(the one that is being called):
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self setTitle: @"My title"];
}
I am adding a "done" button to the Navigation Bar when user starts to edit a text field:
- (void) textFieldDidBeginEditing: (UITextField *) textField
{
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
initWithTitle: NSLocalizedString(@"button: done", @"")
style:UIBarButtonItemStyleDone
target:self
action:@selector(doneEditing)]
autorelease];
}
The problem is: if I call MyViewController from ViewController2 that was pushed into NavigationController2 and after that I call MyViewController from its own NavigationController1, the title of a navigation bar and a done button is not being added. However viewWillAppear and textFieldDidBeginEditing methods of MyViewController are being called.
What is the problem and how can I fix it?
Thanks.