2016-08-03 5 views
0

コンテキスト:ArcGIS Runtime SDKを使用してObjective CでIOSアプリケーションを作成しています。私のルートビューコントローラはマップです。私は、空間的なブックマークを作成し、ビューにプッシュされたテーブルビューでそれらを表示するオプションを持っています。ブックマークを除外できるように、テーブルビューにUISearchControllerがあります。検索せずにブックマークを選択すると、その場所に自動的にパンされます。これは、すべてのView Controllerをポップし、ブックマーク変数を開始エクステントとして設定するためのフラグをルートビューコントローラにロードすることによって行われます。UISearchControllerを終了するUITableViewを表示してルートビューコントローラに移動する

searchControllerテーブルビューで同じ機能を使用したいと思います。

ただし、searchControllerを閉じることができず、ブックマークがにズームされているか、検索コントローラが閉じられ、ユーザーが最初のテーブルビューに戻されます。私がこれまで持って何

:searchControllerテーブルビューでdidSelectRow方法で

: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]; 
} 

(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]; 
}]; 

私にとって、これは動作するはずのようにそれはそう、しかし、UISearchControllerが終了した後、テーブルビューは閉じられず、検索テキストを入力する前に戻っています。

UISearchControllerを無効にする方法やルートビューコントローラに戻す方法について考えてみましょうか?

答えて

0

は、あなたがこの回答に

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [self dismissViewControllerAnimated:NO completion:nil]; 
} 
を意味ホープ
関連する問題