iOS 5:UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage:不工作/忽略
按照苹果文档
我试图在UITabBarItem上设置自定义完成的选定和未select的图像,如下所示:
... 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 +
该图像是30×30透明的PNG并存在于项目中。 无法弄清楚我在这里忽略了什么,但必须是一些东西!
这是在tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
中调用的tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法,ala Ray Wenderlich的教程
有人有主意吗?
谢谢!
标签栏项目用方法初始化: initWithTabBarSystemItem:tag:
但是,正如文件所说:
此方法返回系统提供的选项卡栏项目。 返回的项目的标题和图像属性以后不能更改。
你应该用initWithTitle:image: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"]];
如果你正试图在UITabBar上显示实际的图像,那么使用下面的代码。
[yourTabBarItem setImage:[[UIImage imageNamed:@"more.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
如果要以所选的原始状态显示图像,请使用以下内容
[yourTabBarItem setSelectedImage:[[UIImage imageNamed:@"more.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
这两个是替代
setFinishedSelectedImage: withFinishedUnselectedImage: