查看控制器解雇问题

时间:2019-09-21 17:25:07

标签: ios swift firebase dismiss dismissviewcontroller

我正在设置一个具有Firebase身份验证的新应用程序

虽然您是注册用户,但是创建和发布添加(项目)没有问题,以便其他人可以看到它。但是,如果您尚未登录,它将显示“登录”弹出窗口!拥有“拒绝”按钮!

我尝试创建例如if语句

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

        if segue.identifier == "itemToAddItemSeg" {
            let vc = segue.destination as! AddItemViewController
            vc.category = category!
            }
        }

    private func showItemView(_ item: Item) {

        let itemVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "itemView") as! ItemViewController
        itemVC.item = item

        self.navigationController?.pushViewController(itemVC, animated: true)  
    }

    //Mark: Load items
    private func loadItems() {
        downloadItemsFromFirebase(category!.id) { (allItems) in
            self.itemArray = allItems
            self.tableView.reloadData()   
        }
    }

    private func showLoginView() {
        let loginView = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "loginView") 
        self.present(loginView, animated: true, completion: nil)
    }  
}

需要实现哪些代码? -因此,当我的showlogin弹出时! 有人将按下关闭按钮,将不会继续进行AddItemViewCotroller

此外,它将停留在itemViewController的同一页面上

2 个答案:

答案 0 :(得分:0)

快速5

dismiss(animated: true, completion: nil)
  

关闭由视图控制器模态显示的视图控制器。

我无法根据您提供的代码告诉您如何调用dismiss函数,而是一个实现dismiss方法的示例:

func dismissButtonTapped() {
   dismiss(animated: true, completion: nil) 
}

同样,不确定如何调用函数,但是上面的示例足以指导您正确的方向。

这将关闭showLoginView并将用户保留在itemViewController上。

由于您从道德上介绍了loginView,因此应该可以解决问题。

查看dismiss(animated:, completion:)方法上的documentation,了解更多详细信息。

答案 1 :(得分:0)

正如我之前所说,问题是过渡,如果实现了错误的代码,我感到非常抱歉!问题出在我执行代码的地方,如果Muser.curentUser()!= nil

当有人按下“完成”按钮时,会有一个更好的地方,他们会问他们是注册用户还是否?在其他地方添加显示登录视图弹出窗口可以解决此问题!抱歉!谢谢你,你是最好的人,因为你想帮助我!非常感谢你!