如何在iOS10中删除TabBar上的行

时间:2016-11-29 10:59:53

标签: ios objective-c uitabbarcontroller ios10 uitabbar

使用自定义TabBar创建一个项目,其工作在iOS最多为9但在iOS 10 TabBar完成TabBarUITabBarController *Tabbar; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; 行上有问题1}}。

enter image description here

尝试以下代码:

iOS9

它在iOS10中的工作,而不是TabBar。 我尝试将其应用于 [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;

1)尝试:

    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];

2)尝试:

[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];

3)尝试:(崩溃应用)

[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"yourImageName"]];
[UITabBar appearance].layer.borderWidth = 0.0f;
[UITabBar appearance].clipsToBounds = true;

* 4)尝试:*

function placeHeader(){
    var maximum = 1000; 
    if($(window).width() <= maximum ) {
       var element = $('nav#site-navigation').detach(); 
       $('header').after(element);
    }
    if($(window).width() > maximum ) {
       var element = $('nav#site-navigation').detach(); 
       $('div.site-branding').after(element);
    }
 }  
 $(window).load(function(){
    placeHeader();
 });
 $(window).resize(function(){
    placeHeader();
 });

输出

enter image description here

我也希望边境听到。这是背景图片。

  

注意:我希望tabbar上的背景图片不是零或清晰

如果有任何解决方案,请回复。

6 个答案:

答案 0 :(得分:0)

  

在视图中自定义标签栏的加载方法使用此代码。(swift 3)   将其转换为目标c

 class CustomTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.tabBar.backgroundImage = UIImage()
        self.tabBar.shadowImage = UIImage()

    }

}

答案 1 :(得分:0)

此行来自您的自定义图片或颜色

self.tabBar.backgroundImage = nil
self.tabBar.shadowImage = nil

和 检查查看behid tabBar

答案 2 :(得分:0)

我认为这会奏效。适用于iOS 9.试试吧。

scala> "foo::bar::baz\tbleh\t1234".replaceAll("::", "\t")
res7: String = foo  bar  baz    bleh    1234

如果上述解决方案无效。试试这个。此代码在iOS 10和10.1中进行了测试,工作正常。

sc.textFile("filename").map(_.replaceAll("::", "\t"))

答案 3 :(得分:0)

如果> = iOS 10

tabBar.barStyle = UIBarStyle.black

其他

tabBar.shadowImage = UIImage()
tabBar.backgroundImage = UIImage()

答案 4 :(得分:0)

创建一个自定义的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];
            }
        }
    }
}

享受!

答案 5 :(得分:0)

iOS 10:

UITabBar.appearance().layer.borderWidth = 0.0
UITabBar.appearance().clipsToBounds = true