2016-08-08 24 views
0

我在HomeController.By实施UISearchController这样搜索的tableview行点击进入详细信息查看

SearchTableViewController *searchResults = (SearchTableViewController *)self.controller.searchResultsController; 
[self addObserver:searchResults forKeyPath:@"myResult" options:NSKeyValueObservingOptionNew context:nil]; 
searchResults.rootHomeController=_homeController; 
[self presentViewController:self.controller animated:YES completion:nil]; 

我搜寻出井SearchTableViewController.Now我需要去的细节后SearchTableViewController的UITableView细胞点击我试过值通过这种方式,但不工作。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName: 
           @"Main" bundle:[NSBundle mainBundle]]; 
AlbumSongListController *detailSongList=[storyboard instantiateViewControllerWithIdentifier:@"AlbumSongListControllerID"]; 
    [self presentViewController:detailSongList animated:YES completion:nil]; 

我需要通过导航控制器,这样我可以返回搜索控制器

+0

你能否提出需要通过导航控制器,以便我可以回到搜索控制器 –

+0

当我点击搜索tableview行我可以去详细信息查看罚款。但我想添加导航返回按钮,这样我可以回到searchviewtable控制器 – aDowla

+0

查看我的回答@aDowla –

回答

0

通过声明varialble喜欢通过你的结果一个视图控制器到另一个:

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
        let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("DestViewController") as! DestViewController 
        resultViewController.result = self.result 
        self.presentViewController(resultViewController, animated:true, completion:nil) 
+0

发问者同时标记为目标C我们如何在'resultViewController'中创建'result',你可以用详细信息更新答案 –

+0

向目标视图控制器声明一个结果变量,并将你的源视图控制器结果传递给目标视图控制器 –

+0

你可以请客观c格式 – aDowla

0

PLZ使用此代码在应用程序代理

-(BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions { 
    UIStoryboard * storyboard = [UIStoryboard storyboardWithName: 
     @ "Main" 
     bundle: [NSBundle mainBundle] 
    ]; 

    HomeVcController * HomeVcControllerOb = [storyboard instantiateViewControllerWithIdentifier: @ "HomeVcControllerID"]; 

    UINavigationController * navController = [ 
     [UINavigationController alloc] initWithRootViewController: HomeVcControllerOb 
    ]; 
    self.window.rootViewController = navController; 

} 

和隐藏导航栏on homeVWcontroller

[self.navigationController setNavigationBarHidden:YES animated:YES]; 

然后后仅使用此

UIStoryboard * storyboard = [UIStoryboard storyboardWithName: 
    @ "Main" 
    bundle: [NSBundle mainBundle] 
]; 

AlbumSongListController * detailSongList = [storyboard instantiateViewControllerWithIdentifier: @ "AlbumSongListControllerID"]; 

[self presentViewController: detailSongList animated: YES completion: nil]; 

和AlbumSongListController显示导航栏

[self.navigationController setNavigationBarHidden:No animated:YES]; 
+0

[自我presentViewController:passcodeNavigationController动画:是完成:无];此代码正在工作,但仍不显示返回按钮 – aDowla

+0

@aDowla其显示导航栏或不? –

+0

是的显示导航栏。但不显示返回按钮 – aDowla

0

你需要在你的HomeController呈现与SearchTableViewController导航控制器的根。因此您可以执行导航。

即点击SearchTableViewController(didSelectRowAtIndexPath委托)中的表格单元格,使用[self.navigationcontroller pushviewcontroller]推动详细视图控制器,您将通过这样做返回导航到SearchTableViewController。