Открутить переход от ячейки tableview, представленной в SWRevealViewController

Я новичок в раскадровке и реализовывал переход с помощью SWRevealViewController и столкнулся со следующей проблемой.

У меня есть RightRevealViewController (который встроен в SWRevealViewController и помечен как sw_right в основной раскадровке), у него есть табличное представление, я хотел бы выполнить раскрутку при попадании в его 3-ю ячейку, которая говорит «Выход из системы». хотел бы вернуться к экрану LoginViewController.

Итак, прочитав множество руководств, я узнал, что мне нужно добавить метод действия unwind segue в контроллер представления входа в систему, поскольку это представление, к которому я хочу вернуться, поэтому я добавил приведенный ниже код внутри контроллера представления входа.

 @IBAction func prepareForUnwind(segue: UIStoryboardSegue){
}

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

Итак, на данный момент на моем RightRevealViewController у меня есть метод делегата таблицы, в котором я определяю, какой индекс ячейки был нажат пользователем, и добавил приведенный ниже код.

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if tableView == fixedTableContent{
        if indexPath.row == 2{
            [self .performSegueWithIdentifier("LoginScreen", sender: self)]
        }
    }
}

Кроме того, когда анимация во время этой навигации не является плавной, чтобы быть более понятным, я разбил ее по шагам.

  1. Навигация по правому слайду скрывается первой
  2. Я вижу свой контроллер переднего вида
  3. Есть отставание в одну секунду
  4. Затем я перемещаюсь/отматываю к виду входа в систему

Является ли это поведение нормальным? Я имею в виду, что оно должно напрямую привести меня к контроллеру представления входа в систему. Я что-то здесь упускаю. Пожалуйста, объясните мне, как решить эту проблему, т.е. условную раскрутку с помощью UITableView и поведение, которое я получаю, когда я раскручиваюсь


person Wolf    schedule 11.09.2015    source источник


Ответы (2)


если ваш экран входа в систему является корневым, просто используйте

[self.navigationController popToRootViewControllerAnimated:YES]

person Parth Bhuva    schedule 11.09.2015
comment
Я уже пробовал это, но все же я получаю проблему, о которой я писал выше. - person Wolf; 11.09.2015

Я решил эту проблему, и все, что мне нужно было сделать, это до того, как навигация вызовет метод revealToggleAnimated

self.revealViewController().revealToggleAnimated(true)
self.revealViewController().navigationController?.popToRootViewControllerAnimated(true)

Это решило проблему с задержкой, с которой я столкнулся.

person Wolf    schedule 14.09.2015