Abo*_*tef 5 xcode objective-c uitabbaritem uitabbar ios
嗯使用我自己的TabBarController,ElWafyatTabBarController基本上它继承UITabBarController.
在 ElWafyatTabBarController.m -> viewDidLoad
我已经创建了一些ViewControllers,然后我UINavigationController用rootViewController 创建了viewControllers我之前做过的步骤.
然后我创建UITabBarItem并设置了每个导航控制器的图像和标题,这rootViewController对于我在第一步中创建的viewControllers,并将tabBarItem这些设置为navigationController这些tabBarItem.
我发现的问题甚至UITabBarItem是正确显示的标题,但图像显示为蓝色.
仅供参考:我创建了两个名为test.png和test@2x.png的图片,尺寸为32x32和64x64,我仍有这些问题,所以任何人都可以提供帮助吗?
这是我的代码:
ElWafyatTabBarController - > viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
HomeViewController *homeViewController = [[HomeViewController alloc]
initWithNibName:@"HomeViewController" bundle:nil];
NaaiViewController *naaiViewController = [[NaaiViewController alloc]
initWithNibName:@"NaaiViewController" bundle:nil];
MushatraViewController *mushatraViewController = [[MushatraViewController alloc]
initWithNibName:@"MushatraViewController" bundle:nil];
TakremViewController *takremViewController = [[TakremViewController alloc]
initWithNibName:@"TakremViewController" bundle:nil]
UINavigationController *homeNavC = [[UINavigationController alloc]initWithRootViewController:homeViewController];
UINavigationController *naaiNavC = [[UINavigationController alloc]initWithRootViewController:naaiViewController];
UINavigationController *mushatraNavC = [[UINavigationController alloc]initWithRootViewController:mushatraViewController];
UINavigationController *takremNavC = [[UINavigationController alloc]initWithRootViewController:takremViewController];
// Setup Controllers for Tab Bar. (first level).
// [homeNavC.tabBarItem setTitle:@"????????"];
// [naaiNavC.tabBarItem setTitle:@"???"];
// [mushatraNavC.tabBarItem setTitle:@"??????"];
// [takremNavC.tabBarItem setTitle:@"?????"];
homeNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];
naaiNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];
mushatraNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];
takremNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];
homeNavC.navigationBar.barStyle = UIBarStyleBlack;
naaiNavC.navigationBar.barStyle = UIBarStyleBlack;
mushatraNavC.navigationBar.barStyle = UIBarStyleBlack;
takremNavC.navigationBar.barStyle = UIBarStyleBlack;
UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"test.png"] tag:9];
homeNavC.tabBarItem = tabBarItem;
myViewControllers = [ NSArray arrayWithObjects:takremNavC, mushatraNavC, naaiNavC, homeNavC,nil];
[self setViewControllers:myViewControllers animated:YES];
[self.tabBarController setSelectedIndex:3];
[self setSelectedIndex:3];
}
Run Code Online (Sandbox Code Playgroud)
这些输出:

rde*_*mar 11
如果要查看图像,则需要将图像的渲染模式设置为UIImageRenderingModeAlwaysOriginal,否则图像将显示为模板图像.您应该阅读标签栏上的文档,它有以下声明:
标签栏项目图标
标签栏中的每个项目都可以包含自定义选定图像和未选择图像.使用initWithTitle:image:selectedImage:方法初始化选项卡栏项时,可以指定这些图像.请注意,除非您将其渲染模式显式设置为UIImageRenderingModeAlwaysOriginal,否则选项卡栏项目图像将自动呈现为选项卡栏中的模板图像.有关更多信息,请参阅模板图像.
去 Assets.xcassets > Click on you image > Attribute Inspector > Render As > Original Image
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |