我拍了一個普通的UITabBar
,並將其背景圖像更改爲自定義高度較低的圖像,所以我更改了的height
。最初我得到的是標籤欄下方的空白區域。所以我也改變了frame
的origin
。但現在空白已經移動了標籤欄上方,這就是結果:自定義UITabBar和ViewController之間的空間
這是宣佈在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;
我猜問題在於ViewController
在常量標籤欄的高度不變的空間上繪製自己。有什麼方法可以改變它嗎?
只需增加viewcontroller的view的'height'即可。如果無法形成xib,請在'viewDidLoad'中手動執行。 – Mat
這不起作用,我甚至嘗試在'viewWillAppear'和'viewDidAppear'中設置它。它沒有效果。 – Nadavrbn