2016-04-07 35 views
2

Sekme Çubuğumdaki öğeleri TabBarViewController'dan ayarlamaya çalışıyorum. Uygulamayı SonlandırmaSekme çubuğu öğeleri ayarlanamıyor

nedeniyle yakalanmamış istisna 'NSInternalInconsistencyException', akla: 'Doğrudan bir sekme çubuğu denetleyicisi tarafından yönetilen bir sekme çubuğunu değiştirme değil ben öğeleri ayarladıktan sonra

Ancak, burada hata alıyorum var izin verdi.'

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) 

çevresinde bir çözüm var mı:

İşte kod?

+0

hata size eg, sen tab1 üzerinde aktif bir sekme çubuğu öğesini yani değiştirmeye çalışıyor ve bu değiştirmeye çalıştığını gibi görünüyor o –

+0

kullanırken sekme çubuğu öğesini değiştiremezsiniz diyor. –

+0

Bunun yerine nasıl yapmalıyım? @PKT – dpstart

cevap

2

Bunları doğrudan değiştiremezsiniz, ancak aşağıdakileri yapabilirsiniz.

1.Etips eklemek istediğiniz UITabBarController'ı alın. TabController adında tabBarController var.

2.TopController'ın tüm viewController'ını alın. Görünüm denetleyicinizi 3.getirin. örneğin ÖrnekVC'yi alıyoruz. viewControllers UITabBarController arasında

viewControllers.append(exampleVC) 

7.Set viewControllers ile exampleVC

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

5.Set

exampleVC.tabBarItem = performanceTabItem 

6.append exampleVC için

4.Create tabBarItem.

tabController.viewControllers = viewControllers 
+0

UITabBarController'ı nereden ediniyorsunuz? AppDelegate'de mi? Bir ViewController'da UITabBar'ın bir Sekmesi var mı? Başka bir yer? –

+0

özel bir TabBarController sınıfına sahip olabilir ve bunu Storyboard'da ayarlayabilirsiniz. – commando24