iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: 不工作/被忽略[英] iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: not working / ignored

本文是小编为大家收集整理的关于iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: 不工作/被忽略的处理方法,想解了iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: 不工作/被忽略的问题怎么解决?iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: 不工作/被忽略问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

根据 Apple docs

我正在尝试在 UITabBarItem 上设置自定义完成的选定和未选定图像,如下所示:

...
DetailViewController *vc1 = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
UITabBarItem *vc1i = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemTopRated tag:100];
[vc1i setFinishedSelectedImage:[UIImage imageNamed:@"tab_bar_item_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab_bar_item_normal.png"]];
[vc1 setTabBarItem:vc1i];
...

基本上发生的情况是 TabBar 加载得很好,它只是完全忽略了标签栏项目的自定义.

我的目标是 iOS5+

图像是 30x30 透明 PNG,并且存在于项目中.无法弄清楚我在这里俯瞰什么,但一定是什么!

这是在 tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 方法中调用的,也就是 Ray Wenderlich 的 教程

有人有什么想法吗?

谢谢!

推荐答案

标签栏项使用方法初始化:initWithTabBarSystemItem:tag:.但是,正如文档所说:

<块引用>

此方法返回系统提供的标签栏项目.返回项目的标题和图像属性以后无法更改.

你应该用 initWithTitle:image:tag: 初始化标签栏项目.

UITabBarItem *vc1i = [[UITabBarItem alloc] initWithTitle:@"Top Rated" image:nil tag:100];
[vc1i setFinishedSelectedImage:[UIImage imageNamed:@"tab_bar_item_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab_bar_item_normal.png"]];

本文地址:https://www.itbaoku.cn/post/924581.html