Полностью прозрачный UITabBar в iOS 8
Я пытаюсь сделать мою вкладку прозрачной, я искал, но все, что я нашел, это статьи, в результате чего частично и не полностью прозрачные вкладки, а некоторые были для IOS 5 и т. д.
Я хотел бы выполнить это, как показано на рисунке 3:
каков самый простой способ сделать это?
Я подумал об этом:
// Make the tabBar transparent
self.tabBarController.tabBar.backgroundColor = [UIColor clearColor];
self.tabBarController.tabBar.translucent = YES;
но этот результат был не совсем идеальным:
действительно спасибо за помощь!:)
С уважением, Эрик!--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)