2016-10-14 4 views
0

을 얻기 위해 어떻게 현재를 얻기 위해 노력하고있어 다음 사용 ViewController을 표시. presentedViewController 이후 유일한 속성은 "childViewControllers"입니다.현재 보이는 뷰 컨트롤러

어떻게하면 현재 표시되는 ViewController을 얻을 수 있습니까?

+1

가능한 중복 http://stackoverflow.com/questions/11637709/get-the-current-displaying-uiviewcontroller-on-the- screen-in-appdelegate-m) – BJHStudios

답변

0

그 다음 현재 ViewController는 다음의 조건에 따라 선택되어있는 확인 TabBar의 기반 응용 프로그램 인 경우 : 예를 들어, 선택되어있는 TabBar의

  1. 첫 번째 트랙 : 탭 인덱스를 선택하는 체크 조건

  2. 각 TabBar에 대한 NavigationController 유지 보수

  3. 그런 다음 navigationController 스택의 마지막 인덱스를 확인하여 ViewController와 일치시킵니다. (chilviewcontroller라고 할 수 있습니다).

희망이 있습니다.

0

tabBarController에서 선택한보기 컨트롤러에 액세스 할 수 있습니다. 이렇게하는 쉬운 방법은이 확장 기능입니다.

viewDidAppear까지 올바른 값으로 업데이트되지 않습니다. 이전에 속성을 확인하면 이전 화면이 나타납니다.

import UIKit 

extension UITabBarController { 
    var displayedViewController: UIViewController? { 
     return selectedViewController 
    } 
} 
([AppDelegate.m의 화면에 현재 표시의 UIViewController 취득]의
관련 문제