Контроллер панели вкладок связан с другим контроллером представления в зависимости от входа / выхода пользователя - iOS Swift - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть 5 элементов панели вкладок, если пользователь не вошел в систему, то при нажатии любой вкладки откройте контроллер представления только с некоторым сообщением и только кнопкой входа в систему, а если при входе в систему, то все подключенные контроллеры представления будут открыты из элементов вкладки..

1 Ответ

0 голосов
/ 04 февраля 2019

Это не хороший 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

А теперь в корневом view-контроллере панели вкладок создайте подпредставление, в котором есть кнопки входа в систему или регистрации, и обрабатывайте свой пользовательский интерфейс согласноloginIntimate

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 для навигации или представления логина ViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...