【问题标题】:How to achieve iOS 7 Tab bar icon design for iOS5/6iOS5/6如何实现iOS 7 Tab bar图标设计
【发布时间】:2013-08-29 06:24:12
【问题描述】:

我希望不使用 Xcode 5 的情况下,我的 iOS5/6 应用程序的标签栏看起来就像在 iOS7 上一样。是否可以删除这种光泽/阴影效果?我尝试了著名的-setFinishedSelectedImage:withFinishedUnselectedImage: 代码解决方案。但似乎不适用于我的情况。我玩弄了这些代码:

UIImage* icon1 = [UIImage imageNamed:@"discover_dg~iphone.png"];
UIImage* icon2 = [UIImage imageNamed:@"discover_lb~iphone.png"];

//UITabBarItem *updatesItem = [[UITabBarItem alloc] initWithTitle:@"Discover" image:icon1 tag:1];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *updatesItem = [tabBar.items objectAtIndex:1];
updatesItem.image = icon1;


[updatesItem setFinishedSelectedImage:icon2 withFinishedUnselectedImage:icon1];

[self.navigationController setTabBarItem:updatesItem];

屏幕加载时的第一个标签栏图标在 iOS6 中看起来就像这样,带有光泽效果..

或者这个带有阴影效果..

我正在尝试在 iOS5/6 上移除 UITabBarItem 的光泽效果/阴影。当我点击一个特定的图标时,会出现蓝色的图标,当我离开时(在未选择的图标中)它会变成灰色,必须从一开始的原始图像已经在屏幕加载/出现时出现。但不知何故,我把这些和有光泽的放在一起了..

或者这些有阴影的..

提前干杯!

【问题讨论】:

    标签: ios uitabbaritem


    【解决方案1】:

    http://www.appcoda.com/ios-programming-how-to-customize-tab-bar-background-appearance/ 这是最好的解决方案。使用故事板。您只需将相同的代码带到 AppDelegare.m 祝你好运!

    【讨论】:

      【解决方案2】:

      您可以使用appereance协议,在iOS7中主要是使用新功能,但是从iOS5的appereance方法可以做到这一点。
      您只需将标签栏的背景(-setBackgroundImage:) 图像和视图控制器的每个UItabbarItem 从选中状态更改为未选中状态(-setFinishedSelectedImage:withFinishedUnselectedImage:)。
      如果您不需要为每个 VC 应用不同的图像,还有一个 tint 属性。 查看文档here

      还要检查这个answer

      【讨论】:

      • 感谢回复,但是我实际上是在Appdelegate.m文件中设置了我的标签栏背景。。我想出了这两组效果;首先使用 tintColor 产生光泽的图像,另一个是使用白色图像作为背景,产生阴影。还有一件事,你认为 storyboard 是不是在用这个做点什么。我的 tabController 最初是在故事板中制作的。
      • 不知道,从未使用过情节提要,我几乎所有事情都以编程方式完成。我能够实现您需要为选定和未选定的 UITabbar 项目设置每个图像,而没有任何阴影效果。
      • 这个案子,估计没人知道吧?那些不需要的效果只会在第一次加载后出现。
      猜你喜欢
      • 2014-03-03
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多