选项卡栏控制器链接到不同的视图控制器根据用户的登录/注销 - iOS设备夫特

问题描述 投票:-2回答:1

我有5个标签栏项目,如果没有用户登录,那么任意标签点击打开一些消息视图控制器和登录按钮而已,如果登录然后所有连接的视图控制器会从标签的物品打开。

ios cocoa-touch uitabbarcontroller
1个回答
0
投票

它不是一个很好的UX /流。但无论如何,这个解决方案,如果你想继续使用相同的尝试。

// create a protocol
protocol loginIntimation {
    func loginSuccess()
    func loginFailure()
}

在您的登录视图 - 控制

var delegate:loginIntimation?

处理您的登录API的结果,如果成功

self.delegate?.loginSuccess()
//your code to dismiss or pop your login viewcontroller

也处理故障是否或不登录解聘VC

self.delegate?.loginFailure()
//your code to dismiss or pop your login viewcontroller

而现在在的TabBar的根视图控制器,创建由具有登录子视图或注册按钮和处理您的UI按loginIntimation

class TabBarViewController1: UIViewController, loginIntimation
{
    @IBOutlet weak var viewNavigateToLogin: UIView!

    override func viewDidLoad() {
       super.viewDidLoad()

    }

    override func viewWillAppear(_ animated: Bool) {
        // Check user login
        // if logined hide the view or else show the view
        self.viewNavigateToLogin.isHidden = false (if not logined)
    }

    func loginSuccess() {
        // Handle if login success
        // Hide the view
        self.viewNavigateToLogin.isHidden = true
    }

    func loginFailure() {
        // Handle if login failure
        // Show the view
        self.viewNavigateToLogin.isHidden = false
    }
}

并处理您的登录或注册viewNavigateToLogin视图内按钮操作导航或呈现登录视图控制器。

© www.soinside.com 2019 - 2024. All rights reserved.