簡體   English   中英

如何在不使用該ViewController的情況下更改選項卡中的圖像?

[英]How to change the image in the tabbar without going to that viewcontroller?

我有一個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中有一個教程視圖。單擊該按鈕時,我需要根據教程中的說明更改每個標簽欄圖標。但是我不需要到這里。我想停留在教程視圖本身。但是需要更改圖標。有人可以幫助我實現這一目標嗎?

終於我解決了這個問題。實際上這很簡單。根據教程按鈕操作設置選擇和取消選擇的圖像。例如,如果您有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中一樣。

發送通知到AppDelegate或調用委托方法。 在這種方法中,如果需要,您還可以傳遞參數,並在那里進行特定的選項卡更改。

希望這對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM