UINavigationController проблема с кнопкой возврата - PullRequest
1 голос
/ 24 сентября 2011

У меня есть 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 Ответ

2 голосов
/ 24 сентября 2011

Есть вероятность, что вы дважды нажали на контроллер второго вида .При одновременном нажатии нескольких экземпляров контроллеров представления вы не увидите никакой разницы в анимации нажатия.Было бы похоже, что только один контроллер выдвигается.Это потому, что вы нажимаете следующий контроллер представления прежде, чем предыдущий контроллер представления был полностью выдвинут.

Проверьте свой код, если вы дважды нажимаете на контроллер второго вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...