0

我有一个 iPhone 应用程序,我在其中使用标签栏的自定义图像。选择标签栏时,我必须显示一个图像并取消选择显示另一个图像。我已通过使用 appdelegate 中的波纹管代码成功实现了这一点。`

 UIImage *selectedImage0 = [UIImage imageNamed:@"pinboard_hvr2.png"];
    UIImage *unselectedImage0 = [UIImage imageNamed:@"pinboard2.png"];



    UIImage *selectedImage2 = [UIImage imageNamed:@"scan_hvr2.png"];
    UIImage *unselectedImage2 = [UIImage imageNamed:@"scan2.png"];

    UIImage *selectedImage3 = [UIImage imageNamed:@"places_hvr2.png"];
    UIImage *unselectedImage3 = [UIImage imageNamed:@"places2.png"];


    UITabBar *tabBar = self.tabBarController.tabBar;
    tabBar.TintColor = [UIColor clearColor];
    UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
    UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
    UITabBarItem *item2 = [tabBar.items objectAtIndex:2];


    [item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
    [item1 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
    [item2 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];

`但现在我的问题是我在 secondindex 中有一个教程视图。单击该按钮时,我需要根据教程中的说明更改每个标签栏图标。但我不需要去那里。我想留在教程视图本身。但需要更改图标。有人可以帮我实现吗?

4

2 回答 2

1

最后我已经解决了问题。实际上它是一件简单的事情。根据教程按钮操作设置您选择和取消选择的图像。例如,如果您有 3 个按钮来显示每个选项卡的重要性,请根据设置 appdelegate.tabbar 的选定图像到这样的景色。

TabNavAppDelegate *appdelegate = ( TabNavAppDelegate *)[[UIApplication sharedApplication] delegate];

    UIImage *unselectedImage0 = [UIImage imageNamed:@"pinboard_hvr2.png"];
    UIImage *unselectedImage2 = [UIImage imageNamed:@"scan2.png"];

    UIImage *selectedImage3 = [UIImage imageNamed:@"places2.png"];
    UITabBar *tabBar = appdelegate.tabBarController.tabBar;
    tabBar.TintColor = [UIColor clearColor];
    UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
    UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
    UITabBarItem *item2 = [tabBar.items objectAtIndex:2];


    [item0 setFinishedSelectedImage:unselectedImage0 withFinishedUnselectedImage:unselectedImage0];
    [item1 setFinishedSelectedImage:unselectedImage2 withFinishedUnselectedImage:unselectedImage2];
    [item2 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:selectedImage3];

`并在第三个按钮操作中将其设置回正常方式,就像在 appdelegate 中所做的那样。

于 2012-08-02T13:23:46.060 回答
0

向 AppDelegate 发送通知或调用委托方法。在该方法中,如果需要,您还可以传递您的参数并在那里进行特定的选项卡更改。

希望这对你有用。

于 2012-08-02T12:55:13.267 回答