私は私のtabBarを透明にしようとしています、私は検索しましたが、見つかったのは部分的に完全ではないtabBarsをもたらす記事であり、一部はIOS 5などのものでした。
スケッチ3にあるように、これを達成したいと思います。
これを達成する最も簡単な方法は何ですか?
私はこれを行うことを考えました:
// Make the tabBar transparent
self.tabBarController.tabBar.backgroundColor = [UIColor clearColor];
self.tabBarController.tabBar.translucent = YES;
しかし、その結果は完全に完璧ではありませんでした:
本当に助けに感謝します!:)
心から、エリック
更新
// Make the tabBar transparent
[[UITabBar appearance] setBarTintColor:[UIColor clearColor]];
self.tabBarController.tabBar.translucent = YES;
barTintColor
を試しましたか?
[[UITabBar appearance] setBarTintColor:[UIColor clearColor]];
[[UITabBar appearance] setBackgroundImage:[UIImage new]];
これでうまくいくはずです。
Swift 3.
... AppDelegateのdidFinishLaunchingWithOptionsでこのコードを呼び出します
let tabBar = UITabBar.appearance()
tabBar.barTintColor = UIColor.clear
tabBar.backgroundImage = UIImage()
tabBar.shadowImage = UIImage()
結果は、すべてのUITabBarの透明な背景になります。
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;
この簡単な解決策は私の問題を修正しました:
let size = CGSize(width: tabBar.bounds.size.width,
height: tabBar.bounds.size.height)
tabBar.backgroundImage = UIImage.jotImage(with: UIColor.clear, size: size)