创建一个自定义TabBar
的项目,它的工作完美在iOS
高达9但在iOS 10
我有一个问题TabBar
线在TabBar
上面。
尝试以下代码:
UITabBarController *Tabbar;
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
它在iOS9
的工作不在iOS10
。我试着把它应用到TabBar
1)尝试:
[Tabbar.tabBar setShadowImage:[[UIImage alloc] init]];
Tabbar.tabBar.layer.borderWidth = 0.0f;
Tabbar.tabBar.layer.borderColor =[UIColor clearColor].CGColor;
Tabbar.tabBar.layer.backgroundColor=[UIColor clearColor].CGColor;
Tabbar.tabBar.tintColor=CLEAR_COLOR;
Tabbar.tabBar.barTintColor=CLEAR_COLOR;
2)尝试:
CALayer * superLayer = [UITabBar appearance].layer;
CALayer * layer = [CALayer layer];
layer.bounds = CGRectMake (0.0f, 0.0f, 62.0f, 56.0f);
layer.contents = (id) [UIImage imageNamed: @"tras_tabbg-min"].CGImage;
layer.anchorPoint = CGPointMake (0.5f, 1.0f);
layer.position = CGPointMake (superLayer.bounds.size.width / 2.0f, superLayer.bounds.size.height);
layer.zPosition = 1.0f;
[[UITabBar appearance].layer addSublayer: layer];
3)尝试:(崩溃应用程序)
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
* 4)尝试:*
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"yourImageName"]];
[UITabBar appearance].layer.borderWidth = 0.0f;
[UITabBar appearance].clipsToBounds = true;
输出:
我也希望边境听到。这是一张背景图片。
注意:我想在tabbar上显示背景图像,它不是零或清晰
如果有任何解决方案,请回复。
if> = iOS 10
tabBar.barStyle = UIBarStyle.black
否则<iOS 10:
tabBar.shadowImage = UIImage()
tabBar.backgroundImage = UIImage()
在视图中,自定义标签栏的加载方法使用此代码。(swift 3)将此转换为目标c
class CustomTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.tabBar.backgroundImage = UIImage()
self.tabBar.shadowImage = UIImage()
}
}
此行来自您的自定义图像或颜色
self.tabBar.backgroundImage = nil
self.tabBar.shadowImage = nil
并检查tabBar后面的视图
我认为这会奏效。适用于iOS 9.试试吧。
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
如果上述解决方案不起作用。试试这个。此代码在iOS 10和10.1中经过测试,工作正常。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"yourImageName"]];
[UITabBar appearance].layer.borderWidth = 0.0f;
[UITabBar appearance].clipsToBounds = true;
return YES;
}
创建自定义UITabBar类并覆盖layoutSubviews方法,如下所示:
-(void)layoutSubviews{
[super layoutSubviews];
for (UIView *view in self.subviews){
if([NSStringFromClass([view class]) isEqualToString:@"_UIBarBackground"]){
if(view.subviews.count>1){
[view.subviews[1] removeFromSuperview];
}
}
}
}
请享用!