3

UITabBar をサブクラス化し、drawRect: メソッドをオーバーライドして透明にしました (必要に応じて表示します)。私が抱えている問題は、 UITabBarController に追加されたビューが画面全体をカバーするのではなく、下から 49 ピクセル上で終了するため、透明なタブバーがあっても、その背後にあるものが見えないことです。

画面全体をカバーするために UITabBarController 内の UIView のサイズを設定する適切な方法はありますか?

PS:タブバーの後ろにコンテンツを表示するのは良い考えではないことはわかっています。そこにコンテンツを表示したくはありません。各ビューに固有で、タブバーから表示する必要があるアートだけです。

4

2 に答える 2

1

の背後にコンテンツが必要な場合は、次のUITabBar2 つのオプションがあります。

  • 使用しない– ビューを好きなように配置でき、実装もそれほど難しく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 に答える