2017-03-14 3 views
0

Xcode 8.2を使用してSwift 3で簡単なアプリケーションを作成しようとしています。次のように階層構造を持っていると思います。たとえばスイフト3:テーブルビューの選択行が異なるナビゲーションビューに移動する

Tab-bar View 
-->TableView 
----->TableView 
--------->View 
--------->TableView 
--------->etc. 
----->TableView 
----->View 
-->TableView 

を、メインタブバーはナビゲーションコントローラ内部に埋め込まのtableViewコントローラを持っている必要があります。特定のセル(index.path)をクリックすると、独立したtableviewまたはviewcontrollerが生成され、それ自体が一連の '子'テーブルに分岐できます。テーブルは動的でなければならず、すべてのテーブルコントロール/ビューコントローラに「ポップ」を戻すナビゲーションコントロールがあります。

は現在、メインテーブルビューのために、私が持っている:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    if indexPath.row == List_Database_Indexes.employees { 
     let myWebView = self.storyboard!.instantiateViewController(withIdentifier: "Employees") as! UITableViewController 
     //self.present(myWebView, animated: true, completion: nil) 
     self.performSegue(withIdentifier: "Employees", sender: nil) 

    } 

これは、従業員のUITableViewControllerを起動するために動作しますが、上部のnavigationbarコントローラを持っていません。たとえば、リンゴから、[一般]行の下の画像をクリックすると、パスロックコードにつながるナビゲーションテーブルビューに移動します。パスロックコードでは、すべてがナビゲーションで自動ロックされます。

enter image description here

答えて

0
にコードを変更し

:このメソッドは、メソッドを委任され

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    if indexPath.row == List_Database_Indexes.employees { 
     let myWebView = self.storyboard!.instantiateViewController(withIdentifier: "Employees") as! UITableViewController 
     //self.present(myWebView, animated: true, completion: nil) 
     //self.performSegue(withIdentifier: "Employees", sender: nil) 
     self.navigationController?.pushViewController(myWebView, animated: true) 
    } 
} 
0

。テーブルビューのバインドデリゲートがあるので、テーブルのすべてのセルに適用されます。セルはテーブルビューのサブビューです。

あなたは...セルが選択されていないか、天気をするための条件を与える必要があり

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    if indexPath.row == //index of that cell { 
     let Employee = self.storyboard!.instantiateViewController(withIdentifier: "Employees") as! UITableViewController 
     self.navigationController?.pushViewController(Employee, animated: true) 
    } 
} 
関連する問題