2015-05-12 11 views
7

Ho sei schede e devo visualizzarle tutte senza il pulsante Altro. La risposta jomafer dice che lo setItemWidth lo fa. Ho chiamato questo in AppDelegate ma non ha funzionato.UITabBarController tabBar setItemWidth non funziona

[[UITabBar appearance] setItemWidth:self.window.frame.size.width/6]; 

Ho poi chiamato il suddetto in TabBarControllerviewDidLoad ma ancora non ha funzionato.
anche provato

[self.tabBar setItemWidth:self.window.frame.size.width/6]; 

Ma ci sono pochi come this che dicono che quello che voglio non è possibile utilizzare UITabBar. È vero?

+0

Sì, questo è vero che non è possibile aggiungere più di 5 schede in UITabBar. Se ci sono più di 5 tab, la barra delle schede aggiunge automaticamente "more" per le schede extra. Da dove è possibile accedere alle schede di riposo. –

risposta

6

UITabBar non supporta più di 5 elementi senza il pulsante "altro".

Hai davvero bisogno di 6 pulsanti nella parte inferiore dello schermo? Saranno piccoli obiettivi. Considera di rivedere il tuo flusso di lavoro se hai 6 pulsanti a cui dovrai accedere costantemente.

Se hai sicuramente bisogno di 6, basta sottoclasse UITabBar - Sono abbastanza sicuro che hai solo bisogno di sovrascrivere layoutSubviews e modificare da 5 a 6 da qualche parte.

C'è anche un progetto di sostituzione UITabBar esistente chiamato Infinite Tab Bar che potrebbero soddisfare le vostre esigenze, se non hanno necessariamente bisogno tutti i 6 pulsanti visibili a tutti volte.

+0

Quale proprietà in layoutSubviews imposterà il numero di schede? – Nitish