2012-05-18 10 views
6

Portando un'app all'iPad e in Landscape la barra delle immagini appare un po 'sparsa, quindi ha avuto l'idea di separare le schede (6 di esse) e di inserire un'immagine tra loro.Inserimento di uno spazio/vista/immagine tra UITabbar Articoli

Attualmente uso TabBarKit e fa tutto e altro lo UITabbar fa, ma questo è qualcosa su cui sono piuttosto bloccato. Non riesci a trovare un modo per inserire uno spazio vuoto, un'immagine o UIView (lo sfondo è già un'immagine)?

Quello che ho fatto finora è aggiungere molti elementi di tabbar in più a livello di codice e impostare l'immagine su zero e rimuovere l'interazione dell'utente. (Ho trovato questa soluzione su un altro thread StackOverflow, ma non è una soluzione perfetta).

Lo so UIToolbar ha uno spazio flessibile, ma quando ho provato a usare questo come tab bar item ha causato alcuni problemi.

Quindi, se qualcuno ha qualche idea su come inserire una vista, uno spazio vuoto ecc. Nella barra delle schede, sarebbe molto apprezzato.

UPDATE

iniziare una taglia perché sono curioso di vedere se questo può essere fatto o no. La vista orizzontale di ipad ha un sacco di spazio e mi è stato chiesto di mettere un'immagine al centro dividendo i pulsanti.

Se l'app viene rifiutata, più mi freghi. Gli esempi, campioni, suggerimenti, consigli apprezzato notevolmente

esempio Image: enter image description here

+1

è troppo difficile capire il tuo problema, per favore pubblica un'immagine di tabbar in modo che si possa facilmente rispondere. – Hiren

+0

Immagine caricata, grazie per l'idea compagno – Elmo

+0

Non so che questo è posible o no ma è possibile organizzare pulsanti come tabbar e gestire eventi pulsante con immagini – Hiren

risposta

5

Sono d'accordo con la risposta sopra che questa non è probabilmente una grande idea, tecnicamente però, è possibile.

Il trucco di una barra di tabulazione personalizzata è di nascondere la tabbar predefinita e posizionare la propria vista personalizzata in quello spazio. Quindi puoi riempire quella vista con pulsanti, immagini, qualsiasi cosa tu voglia. Ecco come ho gestito questo.

Ho impostato il mio UITabBarController come questo nel AppDelegate:

UITabBarController tabBarController = [[UITabBarController alloc] init]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, 
              viewController2, 
              viewController3, 
              nil]; 
//add the custom tabbarcontroller 
CustomTabBar customTabBar = [[CustomTabBar alloc] initWithFrame:CGRectMake(0, self.window.frame.size.height - 60, self.window.frame.size.width, 62)]; 
    [self.tabBarController.view addSubview:_customTabBar]; 

tabBarController.tabBar.hidden = YES; 
self.window.rootViewController = self.tabBarController; 

Il CustomTabBar è una sottoclasse di UIView dove ho messo i miei pulsanti personalizzati. Quando si fa clic su un pulsante in questa classe, faccio una chiamata simile a questa:

-(void)firstBtnClicked:(id)sender { 
    ((UIButton*)sender).enabled = NO; 
    AppDelegate *delegate = (AppDelegate*)[UIApplication sharedApplication].delegate; 
    delegate.tabBarController.selectedIndex = 0; 
} 
4

vorrei scoraggiare dal fare scherzi con spaziatura ben pensato di Apple per la barra delle schede. Non farlo: stai violando un controllo nativo in modo negativo e questo avrà conseguenze in futuro. Inoltre, dovrai occuparti di spaziature e logiche diverse nella modalità orizzontale o verticale. Non complicare le cose inutilmente, utilizzarlo come progettato o ripensare se una barra delle schede è il controllo appropriato.

Citando Apple's guidelines:

su iPad, visualizzare le stesse schede in ciascun orientamento per aumentare la stabilità visiva della vostra applicazione. Nel ritratto, le sette schede consigliate si adattano bene attraverso la larghezza dello schermo. Nell'orientamento orizzontale, è necessario che lo centrino le stesse schede lungo la larghezza dello schermo. Questa guida si applica anche all'uso di una barra delle schede all'interno di un riquadro di visualizzazione divisa o di un popover. Ad esempio, se si utilizza una barra delle schede in un popover nel ritratto , è possibile visualizzare le stesse schede nel riquadro sinistro di una vista divisa in orizzontale.

+0

Grazie per la risposta. L'app è bloccata in modalità orizzontale per iPad e la versione per iPhone è bloccata in verticale. Ho solo pensato che l'immagine tra loro avrebbe un bell'aspetto e avrebbe dato un'aria aperta all'app – Elmo

+1

Avere ulteriori immagini in là confonderà gli utenti delle tue app. Non farlo – ader

+0

Ti ho dato la taglia perché credo che tu abbia ragione ma è qualcosa che mi è stato chiesto di fare. Saluti per le informazioni – Elmo

Problemi correlati