Wziąłem zwykłego UITabBar
i zmieniłem jego obraz tła na niestandardowy, który ma niższą wysokość, więc zmieniłem height
z frame
. Na początku dostałem pustą przestrzeń pod paskiem kart. więc zmieniłem też origin
z frame
. Ale teraz pusta przestrzeń przeniósł się powyżej paska kart i jest to wynik:Odstęp między niestandardowym interfejsem UITabBar i ViewController
I to jest kod deklarując pasek kart w 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;
myślę, że Problem polega na tym, że linie ViewController
rysują się powyżej stałej przestrzeni, która jest wysokością zwykłego paska kart. Czy istnieje sposób, aby to zmienić?
Spróbuj po prostu zwiększając "wysokość" widoku 'viewcontroller. Jeśli nie możesz utworzyć pliku xib, zrób to ręcznie w 'viewDidLoad'. – Mat
To nie działa, próbowałem nawet ustawić go w 'viewWillAppear' i' viewDidAppear'. to nie działa. – Nadavrbn