0

私はUITearchControllerの結果を分離したUITableViewController(TableSearch)に持っています。別のviewController、SwiftでviewControllerを表示

私は、行を選択すると、navBarとtabBarでDetailViewControllerを表示し、SearchViewControllerにつながる戻るボタンを持っています。

私が試した:

dispatch_async(dispatch_get_main_queue(), {() -> Void in 

     var viewController = UIViewController() 
     titreDetail = "Boo" 
     viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Detail") as! DetailViewController 

     self.showViewController(viewController, sender: nil) 
    }) 

をしかし、それはナビゲーションバーとタブバーなしDetailViewControllerを提示。 > SearchViewController - - > DetailViewController

SearchTable:

私は後にこれを試してみました:

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
     //SearchViewController 
     var vc = UIViewController() 
     vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Search") as! SearchViewController 
     //DetailViewController 
     var viewController = UIViewController() 
     titreDetail = "Boo" 
     viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Detail") as! DetailViewController 

     vc.showViewController(viewController, sender: nil) 
    }) 

何も起こりません。..

は、どのように私はそれはのようなものを持って行うことができますか?

ありがとうございました!

enter image description here

+0

'presentViewController'の代わりに' pushViewController'を使用します。 – Daniel

+0

私はvc.navigationController?.pushViewController(viewController、animated:true)とself.navigationController?.pushViewController(viewController、animated:true)を試しました。何も起こりません。SearchTableはnavigationControllerにリンクされていません。 –

+0

最初にsearchTableをポップするか、新しいViewControllerのnavBar/tabBarを再度作成するか、navBar/tabBarを継承するためにsearchTableをプッシュする必要があります – Daniel

答えて

0

使用 self.navigationController .pushViewController(ViewControllerを、アニメーション:真)??

+0

私はvc.navigationController ?.pushViewController(viewController、animated:true)およびself.navigationController?.pushViewController(viewController、animated:true)のいずれかです。何も起こりません。SearchTableはnavigationControllerにリンクされていません。 –

+0

検索ビューコントローラから検索テーブルと検索テーブルに移動したい場合、上部にナビゲーションバーが表示されていません。右...? –

+0

私がsearchTable上にいるとき、DetailViewControllerに行きたい、それはDetailViewControllerを表示しますが、popでnavBarとTabbarは消えます。 –

0

self.navigationController .pushViewController(ViewControllerを、アニメーション:真) ビューコントローラは、作成したインスタンスでありますあなたがプッシュしたいView Controllerの - L.Valentine

0

実際に私はデリゲートプロトコルを作成し、それは完全に動作します。

protocol SearchTableDelegateProtocol { 
    func didTapExtendInSearchViewControllerWithIndex(hashtag: String, inTrending: SearchTable) 
} 

class SearchTable : UITableViewController, UISearchResultsUpdating { 

var delegate : SearchTableDelegateProtocol? 
.... 

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    print("vc1") 
    tableView.deselectRowAtIndexPath(indexPath, animated: true) 
    dispatch_async(dispatch_get_main_queue(), {() -> Void in 

     self.delegate?.didTapExtendInSearchViewControllerWithIndex(self.filtered[indexPath.row][0], inTrending: self) 

    }) 
} 

その後:

class SearchViewController : UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, SearchTableDelegateProtocol { 

var resultSearchController = UISearchController() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let locationSearchTable = storyboard!.instantiateViewControllerWithIdentifier("SearchTable") as! SearchTable 
    resultSearchController = UISearchController(searchResultsController: locationSearchTable) 
    resultSearchController.searchResultsUpdater = locationSearchTable 

    locationSearchTable.delegate = self 
} 

... 


func didTapExtendInPhotoCollectionViewCellWithIndex(index: Int, inTrendingCell: CollectionCellOne) { 
    print (index) 
    self.performSegueWithIdentifier("hashtag", sender: "Instagram") 

    } 
} 

みんなありがとう!

関連する問題