проблемы с didselectrowatindexpath - PullRequest
1 голос
/ 13 апреля 2010

Я только что преобразовал приложение, которое делал из приложения контроллера навигации, в приложение панели вкладок.

все прекрасно работает, кроме этой одной вещи, первая из моих вкладок отображает табличное представление, и я хочу, чтобы, когда пользователь выбирает ячейку, я хочу, чтобы она выдвигала другой контроллер представления (например сделал, когда это было навигационное приложение)

но это больше не работает, я делаю что-то глупое

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];


    StoryDetailViewController *storyDetailViewController = [[StoryDetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];



    WorldCupAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;

    Story *aStory = [appDelegate.stories objectAtIndex:indexPath.row];
    NSURL *url = [NSURL URLWithString:aStory.picture];
    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *img = [[UIImage alloc] initWithData:data];
    storyDetailViewController.downloadedImage = img;


    storyDetailViewController.story = [appDelegate.stories objectAtIndex:indexPath.row];


    [self.navigationController pushViewController:storyDetailViewController animated:NO];

    NSLog(@"view controller pushed");

    [StoryDetailViewController release];
}

1 Ответ

3 голосов
/ 13 апреля 2010

Проблема в self.navigationController. Поскольку он больше не является частью контроллера навигации, navigationController - это nil. Если вы хотите добавить новые представления в иерархию, вы можете сделать это, создав контроллер навигации с этим видом в качестве корневого контроллера представления, а затем добавив представление контроллера навигации в панель вкладок.

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