Навигация по панели вкладок и построение таблиц сведений из UITableView

#iphone #uitableview #uitabbarcontroller #navigationcontroller

#iPhone #uitableview #uitabbarcontroller #navigationcontroller

Вопрос:

Я использую четыре вкладки в своей навигации по панели вкладок, третья вкладка обращается к основным данным для загрузки таблицы, которая успешно загружается. У меня возникла проблема с созданием таблицы сведений. У меня настроен и подключен файл с подробным указателем. У меня также настроены и работают данные. Когда я нажимаю на ячейку, она загорается, но ничего не происходит. Это даже не вызывает мой DetailViewController. Я боролся с этим в течение двух дней. Если у кого-нибудь есть какие-либо идеи, пожалуйста, помогите — спасибо

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    if (self.detailsView == nil) 
    {
        self.detailsView = [[TipsROTRDetailViewController alloc] 
                             initWithNibName:@"TipsROTRDetailViewController" bundle:[NSBundle mainBundle]];

    }
    TipsROTRInfo *info = [_fetchedResultsController objectAtIndexPath:indexPath];
    TipsROTRDetails *detailsText = info.details;

    self.detailsView.title = @"TIPS";
    self.detailsView.descriptionText =  detailsText.tipsText;
    //NSLog(@"Text: %@", self.detailsView.descriptionText); **I do get data here

    [self.navigationController pushViewController:self.detailsView animated:YES];
    //release it
    self.detailsView = nil;
}
  

Комментарии:

1. Я не думаю, что у контроллера tabelview нет собственного navigationcontroller. Вы уверены, что у этого класса есть NavigationController

2. Да, это так, NavigationController. И выход подключен к владельцу файла в TipsROTRviewController. спасибо за проверку.

Ответ №1:

Проверьте размер рамки.

  NSLog(@" detail view frame: %f,%f %f x %f",detailsView.frame.origin.x,detailsView.frame.origin.y,
     detailsView.frame.size.width, detailsView.frame.size.height);
  

Возможно, размер равен 0 (или действительно мал) или x, y находятся за пределами экрана.