繁体   English   中英

在UITabBar上设置图像会在Image上显示一条额外的行

[英]setting image on UITabBar shows an extra line on Image

我在我的应用程序中使用UITabBarController(适用于iPhone 5)。 当我尝试在TabBAr上设置图像时,图像显示一条线。 我看到过两个类似于我的问题,但不明白解决方案。

这是我添加图像的方式:

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tab_mypeople.png"]];

    tabBarView.frame = CGRectMake(0, -15, 320, 64);

    [tabBarController.tabBar addSubview:tabBarView];

我当前图片的尺寸为320X64像素。 如何解决这个问题?

在appdelegate.m didfinishLanching方法中写这个

UIImage *tabBackground = [[UIImage imageNamed:@"tab_bg"]
                          resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

[[UITabBar appearance] setBackgroundImage:tabBackground];

[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tab_select_indicator"]];

在iOS 6中,UITabBar上面有一个阴影图像,如果你想禁用它,你可以调用yourTabBar.shadowImage = [UIImage new]

在您的情况下tabBarController.tabBar.shadowImage = [UIImage new]

是的,可以确定尺寸。

如果您只是在视图中使用UITabBar ,请使用此代码:

类型:1

UITabBar *tabBar = [[UITabBar alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 60)];
[self.view addSubview:tabBar];

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBar.png"]];
tabBar.backgroundImage = tabBarView.image;

目前我的图像尺寸是320 x 5

类型2:

如果您使用的是UITabBarController那么就像这样使用它

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBar.png"]];

UITabBarController *tabController = [[UITabBarController alloc]init];
tabController.tabBar.backgroundImage = tabBarView.image;

以下是两者的屏幕截图。

输入1

类型2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM