2015-11-17 23 views
18

Próbuję użyć nowych odniesień do scenorysów w tabbarku. Kiedy używam odniesienia do storyboardu, UITabBarItem (z dostosowanym zestawem obrazów obrazu &) nic nie pokazuje. Patrz Konfiguracja: storyboard setupElement UItabbar nie pokazuje odwołania do storybooka

tabbaritem setup

Naprawiłem go teraz poprzez ustawienie zdjęć & tytuł w funkcji initWithCoder dla początkowego viewcontroller w przywoływanych storyboardów tak:

static NSString *const ContactsViewControllerTabContactImageName = @"tab-contact"; 
static NSString *const ContactsViewControllerTabContactActiveImageName = @"tab-contact-active"; 

- (instancetype)initWithCoder:(NSCoder *)aDecoder { 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
     self.title = NSLocalizedString(@"Contacts", nil); 
     self.tabBarItem.image = [UIImage imageNamed:ContactsViewControllerTabContactImageName]; 
     self.tabBarItem.selectedImage = [UIImage imageNamed:ContactsViewControllerTabContactActiveImageName]; 
    } 
    return self; 
} 
+2

Od Xcode 8.3.x jest to nadal obserwowane zachowanie. Uważam, że jest to błąd, ponieważ uważam, że odniesienie do tablicy nagrań__ było właściwie przeznaczone do dostarczania elementu TabBar. Wygląda na to, że obejście, opisane przez @leogdion, jest obecnie najlepszą drogą. – CouchDeveloper

+0

@CouchDeveloper czy ty (lub ktokolwiek inny) przetestowałeś to w Xcode 9? Wydaje mi się też, że jestem jak bug. Powinno być możliwe ustawienie tego przy pomocy odnośnika. – Ixx

Odpowiedz

68

Trzeba dodać element paska kart w docelowego ujęć widoku kontrolera.

Interface Builder View of Destination Storyboard

+2

To jest poprawne rozwiązanie tego problemu. Dziękuję za Twoją odpowiedź. –

+0

Świetnie. Proszę oznaczyć @ bob-voorneveld jako poprawny. – leogdion

+1

Podobnie jak elementy UINavigationItems (czasami). Dziękuję za odpowiedź. – VaporwareWolf

-3

można uzyskać odniesienie do tego zestawu scenariuszy:

UIStoryboard * mainStoryboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" pakiet: zero];

3

Ta odpowiedź jest dość późno, ale miałem podobny problem. Może to być pomocne dla osób, które później znajdą ten wpis.

Przy zastosowaniu UISplitViewController istnieje problem mi dodając element ujęć, które mogą być rozwiązane za pomocą obejścia.

Scenariusz:

UITabBarController -> StoryboardReference -> UISplitViewController

Problem:

nie można dodać UITabBarItem do UISplitViewController

Rozwiązanie/rozwiązania:

Dodaj kontroler UITabBarController w ramach storyboard UISplitViewControllers i przypisz UISplitViewController jako jedną z zakładek. UITabBarItem zostanie dodany do UISplitViewController. Możesz usunąć niepotrzebny UITabBarController. Element UITabBarItem zostanie zachowany.

+0

Dzięki za te informacje, jednak Twój problem może również wynika z faktu, że: "Kontrolery widoku podzielonego są zwykle instalowane w katalogu głównym okna aplikacji.", jak opisano w [oficjalnych dokumentach] (https://developer.apple.com/reference/uikit/uisplitviewcontroller). – CouchDeveloper