Я использую UITableView для представления множества viewControllers. В зависимости от того, какой индекс щелкнут, он представит другой контроллер представлений, который затем может быть отклонен. По какой-то причине один из моих ViewControllers отображает два клика. Таким образом, кажется, что каждый другой клик работает. Другие презентации презентаций работают нормально, поэтому таблица, вероятно, хорошо.
То, что я вижу в представлении ViewController, которое должно отображаться, заключается в том, что при первом щелчке он выполняет его через didSelectRowAtIndexPath, а затем запускается в целевом представлении: ViewWillLoad, ViewLoaded, ViewWillAppear.... но не ViewDidAppear. Во втором щелчке будет отображаться только ViewDidAppear. Во втором клике он даже не проходит через didSelectRowAtIndexPath. Кроме того, я могу щелкнуть в любом месте экрана во второй раз, и он отобразится.
Он будет продолжать делать это взад и вперед, по-видимому, только отображая целевой вид каждый другой клик. Любые мысли, почему это происходит?
/* RightPanelViewController */
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
switch(indexPath.row){
case 0:
// this view takes two clicks to display
[self presentViewController:self.delegateRef.savedRidesViewController animated:YES completion:nil];
break;
case 1:
// this works fine, as do others
[self presentViewController:self.delegateRef.sensorsViewController animated:YES completion:nil];
break;
case 2:
...
}
/* savedRidesViewController */
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
}