删除UITabbar上边界线
我一直在应用程序中使用UITabbar。 UITabbar顶部有一个上边界线。 请参阅下图:
我谷歌search,并尝试build议的代码,如:
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
也
[[UITabBar appearance] setShadowImage:nil]; self.navigationController.toolbar.clipsToBounds = YES;
但他们都没有工作。 任何解决scheme
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
或者你可以使用
[[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparentShadow.png"]];
要么
[[UITabBar appearance] setShadowImage:nil];
tabBar.clipsToBounds = YES;
是为我工作。
您只需添加以下两行代码即可从UITabbar中删除边框:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; // Override point for customization after application launch. return YES; }
之前:
后:
更新:你也可以设置背景图像,并将阴影设置为下面的代码
UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"]; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; [[UITabBar appearance] setBackgroundImage:tabBarBackground];
OUTPUT:
shadowImage
属性负责UITabbar
上的边界线(灰色阴影)。 更新此属性的值以将其删除。
试试这个,** Objective-C **
//Remove shadow image by assigning nil value. [[UITabBar appearance] setShadowImage: nil]; // or // Assing UIImage instance without image reference [[UITabBar appearance] setShadowImage: [[UIImage alloc] init]];
** Swift **
//Remove shadow image by assigning nil value. UITabBar.appearance().shadowImage = nil // or // Assing UIImage instance without image reference UITabBar.appearance().shadowImage = UIImage()
这里是shadowImage的苹果指南
@available(iOS 6.0, *) open var shadowImage: UIImage?
默认是零。 非零时,自定义阴影图像显示,而不是默认阴影图像。 要显示自定义阴影,还必须使用-setBackgroundImage设置自定义背景图像(如果使用默认背景图像,将使用默认阴影图像)。