2016-08-03 1 views
0

Контекст: Я создаю приложение IOS в Objective C с SDK ArcGIS Runtime SDK. Мой контроллер корневого представления - это карта. У меня есть возможность создавать пространственные закладки и просматривать их в представлении таблицы, которое перетаскивается над представлением. У меня есть UISearchController в представлении таблицы, чтобы иметь возможность отфильтровывать закладки. Если вы выбираете закладку без поиска, вы автоматически настраиваете ее на это место. Это делается путем всплытия всех контроллеров представлений и загрузки контроллера корневого представления с флагом для переменной закладок для установки в качестве начального значения.Отклоните UISearchController View и Dissmiss UITableView, чтобы добраться до контроллера корневого представления

Мне нужна эта же функциональность с видом таблицы searchController.

Однако я не могу уволить поисковый контроллер, а закладка увеличена до или контроллер поиска отклонен, и пользователь возвращается к первоначальному виду таблицы.

То, что я до сих пор:

В методе didSelectRow на searchController TableView:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

//Accept the spatial envelope and save it to the shared variable to be passed to main view controller 
//Now dismiss the searchController and call method to zoom to bookmark 
[self.navigationController dismissViewControllerAnimated:NO completion:^{ 
    //reference to shared instance method 
    [[BookmarksTableViewController sharedBookmark] zoomToBookmark]; 
}]; 

В BookmarksTableViewController.m

-(void)zoomToBookmark{ 
    UIViewController *myController = [self.storyboard instantiateViewControllerWithIdentifier:@"viewController"]; 
    [self.navigationController pushViewController: myController animated:YES]; 
    //clear the navigation stack 
    self.navigationController.viewControllers = [[NSArray alloc] initWithObjects:myController, nil]; 
} 

Мне кажется, что это должно работать, но все, что происходит, - это отклонение UISearchController, тогда представление таблицы не отклоняется, и я вернулся туда, где был до того, как я ввел текст поиска.

Любые мысли о лучшем способе отклонения UISearchController или о том, как вернуться к контроллеру корневого представления?

ответ

0

Надежда вы имеете в виду этот ответ

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [self dismissViewControllerAnimated:NO completion:nil]; 
}