2016-12-03 2 views
0

TabViewController를 표시하려고하면 아래 그림과 같이 TabBar 및 NavigationBar에서 이상한 동작이 발생합니다. 화면을 터치하거나 버튼을 누를 때까지 "이전"이미지에 표시된대로 유지됩니다. 이 지점에서 "후"이미지로 점프합니다.탐색 및 탭보기 컨트롤러가 제대로로드되지 않고 점프 장소로 점프

하기 전에 다음 TabViewController의

let delegate = UIApplication.shared.delegate as! AppDelegate 
delegate.tabViewController = TabViewController() 
self.present(delegate.tabViewController!, animated: true, completion: nil) 

초기화 :

enter image description here

코드가 TabViewController 표시하는 데 사용 : enter image description here

override func viewDidLoad() { 
    super.viewDidLoad() 

    let groupTable = GroupTableViewController() 
    let nav = UINavigationController(rootViewController: groupTable) 
    nav.title = "Groups" 
    nav.tabBarItem.image = UIImage(named: "groups") 

    let vc2 = MeViewController() 
    vc2.title = "Me" 
    vc2.tabBarItem.image = UIImage(named: "user") 
    // let vc3 = SettingsViewController 
    // vc3.title = "Settings" 
    // vc3.tabBarItem.image = UIImage(named: "settings") 

    self.viewControllers = [nav, vc2] 
    self.selectedIndex = 0 
} 

콘솔 로그를하지만 하지마. 오류 관련되어 있다고 생각 :

objc[63765]: Class PLBuildVersion is implemented in both /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x11916f998) and /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x118069d38). 
One of the two will be used. Which one is undefined. 

이 내가 엑스 코드 8.1/맥 OS 시에라로 업데이트 한 후 겉으로 경험했습니다 새로운 버그입니다.

내 XCode 버전은 버전 8.1 베타 (8T47)입니다. 이것이 베타의 버그 일 수 있습니까?

나는 이것이 일어나기 시작했을 때 코드를 변경하지 않았기 때문에 이것이 무엇을 일으키는 지 확신 할 수 없습니다.

도움 주셔서 감사합니다.

답변

0

탭보기 컨트롤러의 viewDidLoad은 실제로 너무 늦어서 두 개의 자식보기 컨트롤러가있는 탭보기 컨트롤러를 구성 할 수 없습니다. TabViewController를 표시하는 데 사용되는 코드에서이 작업을 수행하거나 탭보기 컨트롤러 자체에서 실제로 작업하려면 Tab보기 컨트롤러의 이니셜 라이저에서 수행하십시오. 그러면 모든 것이 잘 될 것입니다.

+0

운이 좋지 않은 두 곳에서 탭보기 컨트롤러를 구성하려했지만 이상한 디스플레이 문제가 발생했습니다. –

+0

글쎄, 문제를 재현 할 수 없으며 표시 한 작은 코드조차도 매우 이상합니다 (뷰 컨트롤러를 표시하기 위해 앱 대리인과 이야기하는 중 ??). 그래서 누가 알겠는가? 하기? 충분한 정보를 제공하지 않았습니다. – matt