1

をほどくした後、私はここで何が起こっているいくつかの洞察をしたいと思い、これを理解しようとして一日を過ごしてきた消える:テーブルビューがセグエは

私はnavigation controllerに埋め込まれていますカスタムUITableViewControllerを持っており、それがボタンを持っていますそれは平文へのセグを引き起こしますUIViewController

プレーンUIViewControllerにはTableViewControllerに巻き戻すボタンとnavigation controllerのおかげで無料で提供される「戻る」ボタンがあります。

問題が発生しました:TableViewControllerからUIViewControllerに移動すると、すべて問題なく動作します。 UIViewControllerから、「戻る」ボタンを押すと、それが巻き戻され、TableViewが自動的にリロードされます。しかし、@IBActionにリンクされているボタンを押して、巻き戻すと、それはTableViewControllerに戻りますが、何も表示されず、空のテーブルも表示されません。

私のボタンを使って巻き戻そうとすると、TableViewControllerが画面に戻ってきましたが、そのフレームは非常に小さく、何も入っていないので、navigation controllerの黒い背景が表示されていました。したがって、テーブルがあるべきちょうど黒い画面が。

誰もが、私は問題がTableViewControllerである疑いがあるとして、私はviewDidAppear()tableView.reload()を試してみましたが、何も起こらなかった?手動tableViewを再初期化したり、私がくつろぐときTableViewControllerをリセットする方法を教えてもらえます以前のフレームと同じように元のフレームを持たない。

Link to screenshots with descriptions

TableViewControllerコード:

class StatsTableViewController: UITableViewController { 
    //variable stuff 

    @IBAction func unwindToRoot(_ sender: UIStoryboardSegue) { 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.getData() 
    } 

    override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     DispatchQueue.main.async { 
      self.tableView.reloadData() 
     } 
     self.getData() 
    } 

    // MARK: - Table view data source 

    override func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return solves.count 
    } 

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! StatsTableViewCell 
     cell.timeLabel?.text = solves[indexPath.row].0 
     cell.scrambleLabel?.text = solves[indexPath.row].1 
     return cell 
    } 

    //other stuff 
} 

答えて

0

あなたは画像

1.Click出口ボタンを見ることがunwindToThisViewボタンのstatusTableViewControllerに

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
      if segue.identifier == "SelectionSegue" { 
       //Your code 
      } 
     } 

     @IBAction func unwindToThisView(sender: UIStoryboardSegue) { 
      // set Delegate datasource method 
     } 

セットのコンセントを、この2つのメソッドを使用しています最後のViewController用 enter image description here は私が私のストーリーボードをチェックしたときに、バックボタンの

enter image description here

戻るボタンのSeguesコンセントを提示setアクション

enter image description here

+0

はアクションがすでに設定された、あなたが手の込んだことができます参照してください あなたが "イメージを見るためにunwindToThisViewボタンのコンセントを設定する"ということは何ですか? – dinosaysrawr

+0

上記のコードをStatusTableViewController.swiftに配置し、storyBoardに移動して別のViewController Exitボタンをクリックすると、2番目の画像のようなプレゼンテーションが表示され、クリックして戻るボタンのアクションを設定する@dinosaysrawr – Ramprasathselvam

+0

終了実行すると、アクションが表示され、tableviewcontrollerに巻き戻されますが、tableviewは表示されません。それは、私はブールとチェックすると、テーブルビューがロードされているが、何も表示されない – dinosaysrawr

関連する問題