web-dev-qa-db-ja.com

iOS 8の完全に透明なUITabBar

私は私のtabBarを透明にしようとしています、私は検索しましたが、見つかったのは部分的に完全ではないtabBarsをもたらす記事であり、一部はIOS 5などのものでした。

スケッチ3にあるように、これを達成したいと思います。

enter image description here

これを達成する最も簡単な方法は何ですか?

私はこれを行うことを考えました:

    // Make the tabBar transparent
self.tabBarController.tabBar.backgroundColor = [UIColor clearColor];
self.tabBarController.tabBar.translucent = YES;

しかし、その結果は完全に完璧ではありませんでした:

enter image description here

本当に助けに感謝します!:)

心から、エリック

更新

// Make the tabBar transparent
[[UITabBar appearance] setBarTintColor:[UIColor clearColor]];
self.tabBarController.tabBar.translucent = YES;
15
Erik

barTintColorを試しましたか?

[[UITabBar appearance] setBarTintColor:[UIColor clearColor]];
[[UITabBar appearance] setBackgroundImage:[UIImage new]];

これでうまくいくはずです。

29

Swift 3.

... AppDelegateのdidFinishLaunchingWithOptionsでこのコードを呼び出します

let tabBar = UITabBar.appearance()
tabBar.barTintColor = UIColor.clear
tabBar.backgroundImage = UIImage()
tabBar.shadowImage = UIImage()

結果は、すべてのUITabBarの透明な背景になります。

28
user3378170

UITabBarControllerをサブクラス化し、viewdidload:このコードを配置する必要があります:

CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContextWithOptions(rect.size, NO, 1.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect);
UIImage *transparentImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.tabBar setBackgroundImage:transparentImage];
[self.tabBar setShadowImage:transparentImage];    
//    self.tabBar.alpha = 0.0;
6
Lior L.

この簡単な解決策は私の問題を修正しました:

let size = CGSize(width: tabBar.bounds.size.width,
                      height: tabBar.bounds.size.height)
tabBar.backgroundImage = UIImage.jotImage(with: UIColor.clear, size: size)
0
Adela Toderici