UITabBarController с раскруткой Segue в Swift не работает

Выполнив несколько поисков, я обнаружил, что распространенной проблемой является то, что переходы раскрутки были ошибочными при реализации UITabBarController.

Я создал простой UITabBarController с двумя представлениями. Вид А и Вид Б.

Я следовал инструкциям по адресу: Unwind Segue не работает в iOS 8

Решение добавить пользовательский класс в UITabBarController и использовать это:

CustomTabBarController.swift

import UIKit

class CustomTabBarController: UITabBarController {

override func viewControllerForUnwindSegueAction(action: Selector, fromViewController: UIViewController, withSender sender: AnyObject?) -> UIViewController? {
    var resultVC = self.selectedViewController?.viewControllerForUnwindSegueAction(action, fromViewController: fromViewController, withSender: sender)
    return resultVC
    }

}

Я подключил простую кнопку к представлению B, чтобы передать строку в представление A. Я также дал переходу раскрутки идентификатор при подключении его к выходу и настроил preparForSegue с этим конкретным идентификатором. Я использую Xcode 6.2.

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

Пожалуйста, любое понимание будет с благодарностью оценено.

Спасибо


person Marc Morgan    schedule 04.04.2015    source источник


Ответы (1)


У меня была такая же проблема, Марк. Проблема устраняется, если вы выполняете переход, используя «Модальное» представление вместо «Показать».

Segue: настоящее модальное, представление: текущий контекст

И ваша проблема будет решена.

person bhavik shah    schedule 17.08.2015