iOS7 故事版建立tanbar

來源:互聯網
上載者:User

iOS7 故事版建立tanbar

在ios7中,方法setFinishedSelectedImage:withFinishedUnselectedImage: 已經被棄用,所以如果直接設定tabBarItem的selectImage和image時會出現不能顯示圖片的問題,效果可能

這個跟自己先要的圖片是明顯不一樣的,自己的圖片

另一個選中狀態是白色的就不了,從上面已經可以看出來不一樣了,下面來說下具體怎麼寫成自己想要的效果,效果


怎麼建立 就不說了,tabbarViewController大家都會建立,下面來說詳細的設定

UITabBar *tabBar = self.tabBar;        UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];    UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];    UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];    UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];    UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];

建立5個UITabBarItem,然後就開始設定Item的圖片了
UIImage *tabBarItem1Image = [UIImage imageNamed:@"11"];    UIImage *imgS1Image =[UIImage imageNamed:@"11s"];    tabBarItem1.selectedImage = [tabBarItem1Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem1.image = [imgS1Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem2Image = [UIImage imageNamed:@"12"];    UIImage *imgS2Image =[UIImage imageNamed:@"12s"];    tabBarItem2.selectedImage = [tabBarItem2Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem2.image = [imgS2Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem3Image = [UIImage imageNamed:@"13"];    UIImage *imgS3Image =[UIImage imageNamed:@"13s"];    tabBarItem3.selectedImage = [tabBarItem3Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem3.image = [imgS3Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem4Image = [UIImage imageNamed:@"14"];    UIImage *imgS4Image =[UIImage imageNamed:@"14s"];    tabBarItem4.selectedImage = [tabBarItem4Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem4.image = [imgS4Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem5Image = [UIImage imageNamed:@"15"];    UIImage *imgS5Image =[UIImage imageNamed:@"15s"];    tabBarItem5.selectedImage = [tabBarItem5Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem5.image = [imgS5Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

上面的設定的方法就是iOS7以後用的,著色(Tint Color)是iOS7介面中的一個重大改變,你可以設定一個UIImage在渲染時是否使用當前視圖的Tint Color。UIImage新增了一個唯讀屬性:renderingMode,對應的還有一個新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚舉值來設定圖片的renderingMode屬性。該枚舉中包含下列值:

UIImageRenderingModeAutomatic//根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。

UIImageRenderingModeAlwaysOriginal//始終繪製圖片原始狀態,不使用Tint Color。

UIImageRenderingModeAlwaysTemplate,//始終根據Tint Color繪製圖片,忽略圖片的顏色資訊。


接下來修改item的文字,代碼如下

[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f],                                                        NSForegroundColorAttributeName : [UIColor orangeColor]                                                        } forState:UIControlStateNormal];//未選中    [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f],                                                        NSForegroundColorAttributeName : [UIColor greenColor]                                                        } forState:UIControlStateSelected];//選中


設定背景圖片及選中item時的圖片如下

//設定選中item後,顯示在此item下面的圖?    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"select_bg"];    //設定tabBar的背景圖?    self.tabBar.backgroundImage = [UIImage imageNamed:@"show_bg"];


大功告成!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.