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

时间:2013-12-16 09:18:03

标签: ios uitabbarcontroller uitabbar iphone-5

我在我的应用程序中使用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像素。 如何解决这个问题??

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

在iOS 6及更高版本中,UITabBar有一个阴影图像,如果你想禁用它,你只需拨打yourTabBar.shadowImage = [UIImage new]

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

答案 2 :(得分:0)

是的,可以确定尺寸。

如果您只是在视图中使用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;

以下是两者的截屏。

Type 1

Type 2