相关疑难解决方法(0)

UINavigation 控制器到 UITabbarcontroller 问题与 iOS Swift 中的 SWRevealViewController

在我的项目中,我有三个 tabBar 项目主页、通知和个人资料。侧面菜单控制器有主页、预订、个人资料和注销。侧栏菜单控制器是通过使用 SWRevealViewController cocopods 完成的。

当我将侧栏菜单导航到主页选项卡栏索引时,正确选择并正确导航。从预订导航时,它可以正确导航,但再次导航家庭应用程序崩溃。控制台输出显示无法将“UINavigationController”(0x10ef79420)类型的值转换为“UITabBarController”(0x10ef79970)。

由于预订控制器是自定义视图控制器,其余是标签栏控制器。当导航到预订屏幕视图控制器标签栏时,应该隐藏,用户再次点击菜单按钮并导航到主页或任何其他控制器。

由于预订控制器没有标签栏索引而崩溃。那么如何在不崩溃的情况下导航到带有选定索引项的自定义控制器和标签栏控制器。

这是我的截图:

预订屏幕控制器 使用 swrevealviewcontroller 的菜单控制器

我的故事板截图:

在此处输入图片说明

这是我尝试过的代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    //        tableView.deselectRow(at: indexPath, animated: true)

    let row = indexPath.row

    if row == 0{


        let tabBarController = revealViewController().frontViewController as! UITabBarController


        let storyboard = UIStoryboard(name: "Home", bundle: nil)

        let obj = storyboard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController

        let navController = UINavigationController.init(rootViewController: obj)
        tabBarController.selectedIndex = (indexPath as NSIndexPath).row
        tabBarController.tabBar.isHidden = false
        self.revealViewController().pushFrontViewController(tabBarController, animated: true)



    } else if row == 1{

        let tabBarController = revealViewController().frontViewController as! …
Run Code Online (Sandbox Code Playgroud)

uitabbarcontroller uitableview ios swrevealviewcontroller swift

4
推荐指数
1
解决办法
753
查看次数

将电子邮件更新为 firebase

它在我的控制台中打印 CHANGED 但没有任何变化,用户电子邮件保持不变。占位符文本恢复为原始电子邮件,我的 Firebase 数据库用于该特定用户的电子邮件也未更改。我想让用户可以选择更改他们个人资料的任何部分,包括电子邮件、密码、位置和他们在首次注册时存储的其他值。为了做到这一点,我是否必须将他们注销并让他们重新登录?这似乎是一种糟糕的用户体验。

class SettingsViewController: UIViewController {

@IBOutlet weak var email: UITextField!
@IBOutlet weak var password: UITextField!
@IBOutlet weak var location: UITextField!
@IBOutlet weak var updateEmail: UIButton!
@IBOutlet weak var updateLocation: UIButton!
@IBAction func updateEmailAction(_ sender: Any) {

    let currentUser = Auth.auth().currentUser

    currentUser?.updateEmail(to: email.text!) { error in
        if let error = error {
            print(error)  
        } else {
            print("CHANGED") 
        }
    }
}

var dataBaseRef: DatabaseReference! {
    return Database.database().reference()
}

override func viewDidLoad() {
    super.viewDidLoad()

    let userRef = dataBaseRef.child("users/\(Auth.auth().currentUser!.uid)")

    userRef.observe(.value, …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift

3
推荐指数
1
解决办法
2180
查看次数

火力基地。更改注册用户的`用户名`(电子邮件)

我的 iOS 应用程序使用 Firebase 通过username和登录password。但我想提供更改username设置的可能性。

问题是,Firebase 是否支持更改用户名?

更新

username 方法 email

firebase firebase-authentication firebase-realtime-database

2
推荐指数
1
解决办法
2667
查看次数