Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios xcode 6自定义选项卡栏在选择图像之前不显示图像_Ios_Objective C_Xcode_Tabs - Fatal编程技术网

Ios xcode 6自定义选项卡栏在选择图像之前不显示图像

Ios xcode 6自定义选项卡栏在选择图像之前不显示图像,ios,objective-c,xcode,tabs,Ios,Objective C,Xcode,Tabs,我有几年前写的几个应用程序,它们都在商店里,而且都很好,可以运行,已经批准,等等 我现在已经在Xcode 6中打开了它们,对它们进行了一些更新,我编写的自定义选项卡栏在Xcode 4中运行良好,现在显示出非常奇怪的行为 第一次加载时,该栏显示为空白,但当触摸/选择每个选项卡时,图像将加载。一旦选择了所有选项卡一次,则该栏将完全工作,所有图像将按预期显示-但在首次加载时,选项卡栏显示为空白(第一个选项卡除外,因为它已被选中) 代码自以前工作以来没有改变,所有图像都在那里并且加载良好,因为一旦选择

我有几年前写的几个应用程序,它们都在商店里,而且都很好,可以运行,已经批准,等等

我现在已经在Xcode 6中打开了它们,对它们进行了一些更新,我编写的自定义选项卡栏在Xcode 4中运行良好,现在显示出非常奇怪的行为

第一次加载时,该栏显示为空白,但当触摸/选择每个选项卡时,图像将加载。一旦选择了所有选项卡一次,则该栏将完全工作,所有图像将按预期显示-但在首次加载时,选项卡栏显示为空白(第一个选项卡除外,因为它已被选中)

代码自以前工作以来没有改变,所有图像都在那里并且加载良好,因为一旦选择了选项卡,它们就会显示良好。只有在第一次加载时,图像才会显示,直到触摸并选择该选项卡

我的自定义选项卡栏代码如下所示,以前都可以正常工作,现在在商店的应用程序中也可以正常工作:

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGRect tabbarTopFrame = CGRectMake(0,(screenSize.height - 59),320,10);
UIImageView *tabbarTop = [[UIImageView alloc] initWithFrame:tabbarTopFrame];
tabbarTop.image = [UIImage imageNamed:@"tabbar_top.png"];
[self.tabBarController.view addSubview:tabbarTop];

UIImage *selectedImage0 = [UIImage imageNamed:@"tabbar_introduction_active.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"tabbar_introduction_default.png"];
UIImage *selectedImage1 = [UIImage imageNamed:@"tabbar_nests_active.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"tabbar_nests_default.png"];
UIImage *selectedImage2 = [UIImage imageNamed:@"tabbar_home_active.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"tabbar_home_default.png"];
UIImage *selectedImage3 = [UIImage imageNamed:@"tabbar_dogowners_active.png"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"tabbar_dogowners_default.png"];
UIImage *selectedImage4 = [UIImage imageNamed:@"tabbar_spotted_active.png"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"tabbar_spotted_default.png"];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];

item0.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item4.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];
自Xcode 4以来,与上述代码相关的内容发生了哪些变化,或者上述代码是否存在任何问题,导致在选择图像之前无法加载图像

Xcode不会显示错误或警告,代码如图所示

这给我带来了无尽的悲伤,我简直无法理解这种行为

尝试检查文件夹中是否缺少未选择的图像。再次尝试删除并重新连接此图像,并确保将其添加到目标

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
该函数在iOS7中首先被弃用

备选方案:

[item0 setImage:[unselectedImage0 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

    [item0 setSelectedImage:[selectedImage0 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

天才!这就解决了问题。谢谢-我欠你一杯啤酒