2016-12-03 5 views
0

TabViewControllerを表示しようとすると、下の画像に示すように、TabBarとNavigationBarの両方から奇妙な動作が発生します。画面に触れるか、ボタンを押すまで、「前」の画像のように表示されます。その時点で、「後」の画像にジャンプします。 enter image description here 後::前ナビゲーションとタブビューコントローラが正しくロードされず、次にジャンプする

コードTabViewControllerを提示するために使用

enter image description here

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

TabViewControllerの初期化:

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. 

これは私がXcodeの8.1/MacOSのシエラにアップデートした後、一見経験してきた新しいバグです。

私のXCodeバージョンは、バージョン8.1ベータ版(8T47)です。これはベータ版のバグでしょうか?

これが起きたときにコードが変更されなかったため、何が原因であるのか不明です。

ありがとうございました。

答えて

0

タブビューコントローラのviewDidLoadは、実際には2つの子ビューコントローラでタブビューコントローラを設定するには遅すぎます。これは、 "TabViewControllerを表示するために使用されるコード"で行うか、タブビューコントローラ自体から実際に行う場合は、タブビューコントローラのイニシャライザから行います。それですべてがうまくいく。

+0

タブビューコントローラーを運行のない両方の場所で設定しようとしましたが、まだその奇妙な表示の問題があります。 –

+0

まあ、私は問題を再現することはできませんし、あなたが表示した小さなコードでさえ(View Controllerを表示するためにアプリケーションデリゲートと話すことは非常に奇妙です)、誰が知っているのか、やっている?あなたは十分な情報を与えていない。 – matt

関連する問題