2017-03-29 6 views
4

내가 원하는 것은 3 차원 바로 가기에서 색인을 선택하도록 UITabBarController을 강제로 수행 할 때입니다. viewDidAppear() 문제는 viewDidAppear() 내 메인 UIViewController 임베디드가 호출되지 않으면 탭 바 항목을 다시 클릭하면 호출됩니다. 운전자의 나머지가 일어나지 않으면, 나는 그것이 UITabBarController의 항목의 목록에서 첫번째 이유가 아닌 이유를 이해한다.보기 컨트롤러에서 내 viewDidAppear이 호출되지 않음

탭 바 컨트롤러 :

override func viewDidAppear(_ animated: Bool) { 
    if goTasks { 
     self.selectedIndex = 0 
    } else if goTodo { 
     self.selectedIndex = 2 
    } else if goProjects { 
     self.selectedIndex = 3 
    } else if goSearch { 
     self.selectedIndex = 0 
    } 

} 

내 첫 UIViewController (여기가 온다) :

override func viewDidAppear(_ animated: Bool) { 
    print("Entry") 
} 

(라고하지 않음이 방법은) 문제 override 방법인가? 어떤 해결책? 첫 번째의 ViewController, 당신의 UITabBarController가 클래스 viewDidAppear의 FUNC에서

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidLoad() // here what i ment 

    if goTasks { 
     self.selectedIndex = 0 
    } else if goTodo { 
     self.selectedIndex = 2 
    } else if goProjects { 
     self.selectedIndex = 3 
    } else if goSearch { 
     self.selectedIndex = 0 
    } 

} 
+0

당신이 UITabBarController가에 대한 모든 클래스가 있나요 지금 희망을해야합니까? – Surjeet

+0

super.viewDidAppear (애니메이션)은 메소드의 첫 번째 라인이어야합니다;). – Adolfo

답변

5

는 그 후이

override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     if goTasks { 
      self.selectedIndex = 0 
     } else if goTodo { 
      self.selectedIndex = 2 
     } else if goProjects { 
      self.selectedIndex = 3 
     } else if goSearch { 
      self.selectedIndex = 0 
     } 

    } 

처럼, 슈퍼 클래스의 호출

+0

해결책 감사합니다! – Alejandro

0

난 당신이 슈퍼에서 함수를 호출 할 수 있다고 생각 이 메서드를 호출합니다.

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    print("Entry") 
} 
0
override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
    if goTasks { 
     self.selectedIndex = 0 
    } else if goTodo { 
     self.selectedIndex = 2 
    } else if goProjects { 
     self.selectedIndex = 3 
    } else if goSearch { 
     self.selectedIndex = 0 
    } 
} 

당신은 super.viewDidAppear (애니메이션)를 추가, 그 단어가