Ho preso un normale UITabBar
e ho cambiato l'immagine di sfondo in uno personalizzato che ha un'altezza inferiore, quindi ho cambiato il height
dello frame
. Inizialmente ho ottenuto uno spazio vuoto sotto la barra delle schede. quindi ho modificato anche lo dello frame
. Ma ora lo spazio vuoto è spostato sopra la barra delle schede e questo è il risultato:Spazio tra personalizzato UITabBar e ViewController
E questo è il codice che dichiara la barra delle schede nella AppDelegate:
self.tabContoller = [[UITabBarController alloc] init];
//customizing the tabbar
UIImage * tabBackgroundImage = [UIImage imageNamed:@"tabBarBg.png"];
self.tabContoller.tabBar.backgroundColor = [UIColor colorWithRed:245.f/255.f green:245.f/255.f blue:245.f/255.f alpha:255.f/255.f];
self.tabContoller.tabBar.backgroundImage = tabBackgroundImage;
//setting the tabbar height to the correct height of the image
CGRect tabR = self.tabContoller.tabBar.frame;
CGFloat diff = tabR.size.height - tabBackgroundImage.size.height;
tabR.size.height = tabBackgroundImage.size.height;
tabR.origin.y += diff;
self.tabContoller.tabBar.frame = tabR;
Credo che il problema è che gli ViewController
si disegnano sopra uno spazio costante che è l'altezza della normale barra delle schede. C'è un modo per cambiarlo?
Provate semplicemente ad aumentare l'altezza della 'view' del viewcontroller. Se non puoi formare lo xib, fallo manualmente nel 'viewDidLoad'. – Mat
Non funziona, ho persino provato a impostarlo in 'viewWillAppear' e' viewDidAppear'. non ha alcun effetto. – Nadavrbn