2016-04-07 12 views
2

TabBarViewControllerからタブバーの項目を設定しようとしています。アプリを終了タブバーの項目を設定できません

キャッチされない例外により「NSInternalInconsistencyException」、理由に::「を直接タブバーコントローラによって管理さタブバーを変更していない私は項目を設定したら

しかし、ここでエラーが私が手です許可されました。

は、ここでは、コードです:

func imageWithImageSize(image:UIImage , newSize:CGSize) -> UIImage{ 

     UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0); 
     image.drawInRect(CGRectMake(0, 0, newSize.width, newSize.height)) 
     let newImage = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 

     return newImage 

    } 



    let image1 = imageWithImageSize(UIImage(named: "Home.png")!, newSize: CGSizeMake(30, 30)) 

    let homeItem = UITabBarItem(title: "Home", image: image1, selectedImage: image1) 


    let image2 = imageWithImageSize(UIImage(named: "Profile.png")!, newSize: CGSizeMake(30, 30)) 
    let profileItem = UITabBarItem(title: "Profile", image: image2, selectedImage: image2) 


    self.tabBar.setItems([homeItem,profileItem, homeItem, homeItem], animated: false) 

は、その周りに解決策はありますか?

+0

エラーは、あなたが例えばのために、あなたはtab1の上にあるアクティブなタブバーの項目、すなわちを変更しようとそれを修正しようとしているように思えそれを –

+0

を使用している間、タブバーの項目を変更することはできませんと言います。 –

+0

どうすればいいですか? @PKT – dpstart

答えて

2

あなたはそれらを直接変更することはできません。代わりに次のことができます。

1.タブを追加するUITabBarControllerを取得します。tabControllerという名前のtabBarControllerがあることを前提にしています。

2. tabControllerのすべてのviewControllerを取得します。

guard var viewControllers = tabController.viewControllers else { 
     return 
    } 

3. View Controllerを取得します。例えば、私たちはexampleVCを取る。 viewControllers UITabBarControllerの

viewControllers.append(exampleVC) 

7.setのviewControllersとexampleVC

let performanceTabItem = UITabBarItem(title: "example", image: "tabImage", selectedImage: "selectedTabImage") 

5.set

exampleVC.tabBarItem = performanceTabItem 

6.append exampleVCため

4.createのtabBarItem。

tabController.viewControllers = viewControllers 
+0

あなたはどこでUITabBarControllerを取得しますか? AppDelegateでは? UITabBarのタブであるViewControllerで?どこか別の場所? –

+0

あなたはTabBarControllerのカスタムクラスを持ち、それをストーリーボードに設定することができます。 – commando24

関連する問題