2015-11-17 19 views
18

Sto provando a utilizzare i nuovi riferimenti dello storyboard in una tabbar. Quando utilizzo il riferimento dello storyboard, UITabBarItem (con il set di testo personalizzato &) non mostra nulla. Vedere Impostazione: storyboard setupElemento UItabbar che non mostra il riferimento dello storyboard

tabbaritem setup

ho risolto tutto per ora impostando le immagini & documento nella funzione di initWithCoder per la viewcontroller iniziale gli storyboard di riferimento in questo modo:

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

A partire da Xcode 8.3.x questo è ancora il comportamento osservato. Considero questo un bug, dal momento che credo che lo _storyboard reference_ fosse in realtà inteso a fornire l'elemento TabBar. Sembra che sillaba, la soluzione alternativa descritta da @leogdion è la strada da percorrere attualmente. – CouchDeveloper

+0

@CouchDeveloper hai (o chiunque altro) testato questo in Xcode 9? Anche a me sembra decisamente un bug. Dovrebbe essere possibile impostarlo usando il riferimento. – Ixx

risposta

68

è necessario aggiungere la voce scheda bar nella destinazione controller della vista storyboard.

Interface Builder View of Destination Storyboard

+2

Questa è la soluzione corretta a questo problema. La ringrazio per la risposta. –

+0

Grande. Per favore, contrassegna @ bob-voorneveld come corretto. – leogdion

+1

Proprio come UINavigationItems (a volte). Grazie per la risposta. – VaporwareWolf

-3

si può ottenere riferimento allo storyboard

UIStoryboard * mainStoryboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" bundle: nil];

3

Questa risposta è piuttosto tardi, ma ho avuto un problema simile. Questo può essere utile per gli altri che trovano questo post più tardi.

Quando si utilizza un UISplitViewController c'è un problema per me aggiungendo il prodotto nel storyboard che può essere risolto con una soluzione.

Scenario:

UITabBarController -> StoryboardReference -> UISplitViewController

Problema:

Non è possibile aggiungere un UITabBarItem al UISplitViewController

Soluzione/Soluzione:

Aggiungere un UITabBarController all'interno dello storyboard UISplitViewControllers e assegnare UISplitViewController come una delle schede. Un UITabBarItem verrà aggiunto a UISplitViewController. È possibile eliminare l'UITabBarController non necessario. L'UITabBarItem verrà mantenuto.

+0

Grazie per queste informazioni, tuttavia il tuo problema potrebbe anche deriva dal fatto che: "I controller di vista divisa sono normalmente installati nella radice della finestra della tua app.", come descritto nella [documentazione ufficiale] (https://developer.apple.com/reference/uikit/uisplitviewcontroller). – CouchDeveloper

Problemi correlati