Ссылка на представленный в данный момент контроллер представленияIOS

Программируем под IOS
Ответить
Anonymous
 Ссылка на представленный в данный момент контроллер представления

Сообщение Anonymous »

Я работаю над методом перехода к определенному экрану моего приложения по глубокой ссылке, и мне нужно добиться этого от делегата сцены.
Текущая иерархия выглядит следующим образом: p>
UITabViewController
UIViewController на вкладке 1 (Панель управления)
UIViewController (вход в систему) модально отображал полноэкранный режим из информационной панели (не в навигационном контроллере) поверх всего.
Мне нужна ссылка на представленное в данный момент модальное окно, чтобы я мог выполнять с его помощью действия программно. Вот в чем мои проблемы. Кажется, я не могу получить ссылку на модальное окно. Самая глубокая ссылка, которую я могу найти, - это контроллер представления на вкладке 1.
Я пробовал

Код: Выделить всё

func getTopViewController()->UIViewController{
return topViewControllerWithRootViewController(UIApplication.sharedApplication().keyWindow!.rootViewController!)
}
func topViewControllerWithRootViewController(rootViewController:UIViewController)->UIViewController{
if rootViewController is UITabBarController{
let tabBarController = rootViewController as! UITabBarController
return topViewControllerWithRootViewController(tabBarController.selectedViewController!)
}
if rootViewController is UINavigationController{
let navBarController = rootViewController as! UINavigationController
return topViewControllerWithRootViewController(navBarController.visibleViewController)
}
if let presentedViewController = rootViewController.presentedViewController {
return topViewControllerWithRootViewController(presentedViewController)
}
return rootViewController
}
следующее выводит ноль

Код: Выделить всё

if let tabBarController = window?.rootViewController as? UITabBarController,
let dashboardViewController = tabBarController.selectedViewController as? AccountDashboardViewController{
print("presented controller", dashboardViewController.presentedViewController)
}
что еще я могу сделать, чтобы получить ссылку на представленный контроллер представления, а не на тот, что на панели вкладок?

Подробнее здесь: https://stackoverflow.com/questions/791 ... controller
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»