将数据传递回主视图时,隐藏Swift NavigationBar

时间:2016-11-24 02:59:58

标签: swift uinavigationcontroller uinavigationbar

大家好,我是swift的新手,我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。

  

这是主视图

enter image description here

  

当我选择“TestToNextPage”( tableViewCell )时会推送到   像这张照片的SecondView

enter image description here

  

当我选择VC2时,“Test2”按钮会将数据传回MainView   但NavigationBar会解散

enter image description here

  

我也在MainView和SecondView中尝试此代码,但是无法正常工作

override func viewWillLayoutSubviews() {
        self.navigationController?.navigationBar.isHidden = false
    }
  

tableViewCell的MainView代码

private func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath)-> UITableViewCell {
let cellIdentifer = "Cell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifer, for: indexPath as IndexPath)
    cell.textLabel?.text = "TestToNextPage"
    cell.accessoryType = .disclosureIndicator
    return cell
   }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
 {
     let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
     let SecondViewController = mainStoryboard.instantiateViewController(withIdentifier: "SecondViewController")
        self.navigationController?.pushViewController(SecondViewController, animated: true)
  

SecondView Btn代码

 var MainVC: ViewController
 @IBAction func TestBtn(_ sender: UIButton){
        MainVC?.MainArray = TestArray      //pass TestArray to MainArray
        MainVC?.delegate = self
        self.performSegue(withIdentifier: "SecondSegue", sender: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "SecondSegue" {
            MainVC = segue.destination as? ViewController
            MainVC?.MainArray = self.TestArray
    }
    func dismissMainViewController(Controller:UIViewController){
        if MainVC == Controller as? ViewController{
            self.TestArray = (MainVC?.MainArray)!
        }
    }

我的故事板 enter image description here

有没有人有任何想法或有其他最好的方法吗? 谢谢你的帮助伙伴

2 个答案:

答案 0 :(得分:0)

尝试在故事板中的第二个视图控制器上嵌入导航控制器,然后从View Controller连接到刚刚添加的导航控制器。

答案 1 :(得分:0)

你可以试试这个

从主viewController中删除segues到secondViewController,并在第二个ViewController的TestBtn的动作中添加代码

@IBAction func TestBtn(_ sender: UIButton){

       self.navigationController?.popToRootViewController(animated: true))
}