UINavigationController назад кнопка действий проблема
У меня есть UINavigationController, и первое представление - это UIView. Я установил две кнопки, и каждая из них выдвигает другой вид, оба UITableViewControllers. Первые кнопки работают просто отлично. Проблема в том, что когда я нахожусь во втором TableViewController и нажимаю на кнопку "Назад", он пытается переместить представление снова и только во второй раз возвращается к главному представлению. У меня также есть настройка UITabBarController, и я заметил, что если я нахожусь на моей первой вкладке (основной вид с двумя кнопками, нажимающими две таблицы и точно во втором виде), и я нажимаю на другую вкладку, затем нажимаю на первую - это показывает мне содержимое моего первого UITableViewController, и когда я возвращаюсь назад, он показывает второй UITableViewController (который должен отображаться), и только второй раз, когда я касаюсь, он переходит к главному виду.
Я не знаю, понятно ли то, что я только что сказал, вот также код для кнопки "Назад" и действия для нее:
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *back= [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backImage = [[UIImage imageNamed:@"backb.png"]
stretchableImageWithLeftCapWidth:10 topCapHeight:10];
[back setBackgroundImage:backImage forState:UIControlStateNormal];
[back addTarget:self action:@selector(cancel:)
forControlEvents:UIControlEventTouchUpInside];
back.frame = CGRectMake(0, 0, 37, 26);
UIBarButtonItem *cancelButton = [[[UIBarButtonItem alloc]
initWithCustomView:back] autorelease];
self.navigationItem.leftBarButtonItem = cancelButton;
}
-(IBAction)cancel:(id)sender{
[self.navigationController popViewControllerAnimated:YES];
}
Кнопка возврата в первом UITableViewController настроена одинаково и работает просто отлично... в чем может быть проблема?
Я только что добавил еще один UITableViewController и, очевидно, теперь, когда я нахожусь в третьем представлении, и я пытаюсь вернуться к основному представлению, он загружает представление два раза и первый UITableViewController, прежде чем он возвращается...
1 ответ
Есть вероятность, что вы нажали второй контроллер вида дважды. При одновременном нажатии нескольких экземпляров контроллеров представления вы не увидите никакой разницы в анимации нажатия. Было бы похоже, что только один контроллер выдвигается. Это потому, что вы нажимаете следующий контроллер представления прежде, чем предыдущий контроллер представления был полностью выдвинут.
Проверьте свой код, если вы нажимаете второй контроллер вида дважды.