2016-08-08 73 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。