3

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

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

PS:我知道在标签栏后面显示内容不是一个好主意。我不想在那里显示任何内容,只是艺术,这是特定于每个视图的,需要通过标签栏可见。

4

2 回答 2

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];
    
于 2013-03-15T13:09:26.880 回答
-1

您可以简单地创建一个 UITabBar 或 UITabBarController 类别并设置它Alpha

就像是 :-

@implementation UITabBarController (Translucent)
- (void)createImage
{
     [self.tabBar setAlpha:0.1];
}
@end

您甚至可以在 Drawrect 中设置 Alpha。

于 2013-03-15T12:46:40.027 回答