【问题标题】:Remove line on custom tab bar删除自定义标签栏上的行
【发布时间】:2013-09-01 00:40:45
【问题描述】:

我制作了一个自定义标签栏,其中一个延伸到栏之外。有一条线与中心标签栏重叠。无论如何我可以摆脱或隐藏它吗?

为此,我只设置了标签栏图像:

 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];


tabBarItem1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
tabBarItem3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"scheduleTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"scheduleTabBarImage.png"]];
   [tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"favoritesTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"favoritesTabBarImage.png"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"searchTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"searchTabBarImage.png"]];

知道如何隐藏这条线吗?谢谢

【问题讨论】:

  • 你在viewDidLoad里做这些配置吗?
  • 它的应用内委托 didFinishLaunchingWithOptions
  • 在 TabbarViewController 的 ViewDidLoad 或 ViewWillAppear 中尝试这些。我记得我遇到过这个问题并通过这个解决了
  • 当它没有 self.window.rootviewcontroller 时,您如何将 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 放在 tabbarviewcontroller 中?

标签: ios objective-c line customization uitabbar


【解决方案1】:

如果我对您的理解正确,那么问题在于位于标签栏顶部的 1-2 像素阴影。如果是这种情况,您可以像使用导航栏一样删除阴影。只需启用剪辑到边界。

[self.tabBarController.tabBar setClipsToBounds:YES];

【讨论】:

  • 它删除了这条线,但是我在标签栏上方的绿色标签栏被切断了......有什么解决办法吗?
【解决方案2】:

这似乎对我有用:

    [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; 

【讨论】:

    猜你喜欢
    • 2021-09-30
    • 1970-01-01
    • 2013-12-01
    • 2012-05-07
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2010-10-01
    相关资源
    最近更新 更多