Полностью прозрачный UITabBar в iOS 8

Я пытаюсь сделать мою вкладку прозрачной, я искал, но все, что я нашел, это статьи, в результате чего частично и не полностью прозрачные вкладки, а некоторые были для 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

действительно спасибо за помощь!:)

С уважением, Эрик!--3-->

обновление

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

4 ответов


вы пробовали barTintColor?

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

это должно сделать трюк.


Swift 3.0

... вызовите этот код в 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)