我已经将UITabBar子类化并覆盖了drawRect:方法以使其透明(并使其看起来像我需要的那样)。我遇到的问题是添加到UITabBarController的视图没有覆盖整个屏幕但是在底部上方49个像素,所以即使我有透明的tabbar,我也看不到它背后的东西。
我是否有正确的方法可以在UITabBarController中设置UIView的大小来覆盖整个屏幕?
P.S。:我知道在tabbar后面显示内容并不是一个好主意。我不希望在那里显示任何内容,只有艺术,这些内容特定于每个视图,需要通过tabbar显示。
答案 0 :(得分:1)
如果您希望内容位于UITabBar
后面,我会看到两个选项:
不要使用UITabBarController
- 这肯定会有效,因为您可以根据需要定位视图,而 则难以实现。
尝试关闭视图上的clipsToBounds
并将一些视图放在他的边界之外。
// UIViewController contained in UITabBarController:
self.view.clipsToBounds = NO;
UIView *viewBehindTabBar = [[UIView alloc] init];
viewBehindTabBar.frame = CGRectMake(0, self.view.bounds.size.height,
self.view.bounds.size.width, 49);
// autoresizing mask, background color, ...
[self.view addSubview:viewBehindTabBar];
答案 1 :(得分:-1)
您只需创建一个UITabBar或UITabBarController类别即可
并设置它是Alpha
。
喜欢的东西: -
@implementation UITabBarController (Translucent)
- (void)createImage
{
[self.tabBar setAlpha:0.1];
}
@end
您甚至可以在Drawrect中设置Alpha。