如何创建半透明(背后有内容)UITabBar

时间:2013-03-15 11:54:50

标签: ios uitabbarcontroller uitabbar

我已经将UITabBar子类化并覆盖了drawRect:方法以使其透明(并使其看起来像我需要的那样)。我遇到的问题是添加到UITabBarController的视图没有覆盖整个屏幕但是在底部上方49个像素,所以即使我有透明的tabbar,我也看不到它背后的东西。

我是否有正确的方法可以在UITabBarController中设置UIView的大小来覆盖整个屏幕?

P.S。:我知道在tabbar后面显示内容并不是一个好主意。我不希望在那里显示任何内容,只有艺术,这些内容特定于每个视图,需要通过tabbar显示。

2 个答案:

答案 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。