![](/img/trans.png)
[英]How to Customize UITabBar - On selection of tabbar how to change the image of selected tabbar
[英]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.