在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的文字,**如下
nsforegroundcolorattributename : [uicolor orangecolor]
} forstate:uicontrolstatenormal];//未選中
nsforegroundcolorattributename : [uicolor greencolor]
} forstate:uicontrolstateselected];//選中
設定背景及選中item時的如下
//設定選中item後,顯示在此item下面的圖⽚
tabbar.selectionindicatorimage = [uiimage imagenamed:@"select_bg"];
//設定tabbar的背景圖⽚
self.tabbar.backgroundimage = [uiimage imagenamed:@"show_bg"];
大功告成! iOS7適配問題
ios 7發布了,適配問題來了,開發者都忙起來了。先記乙個ios7 的幾個特點 1.座標 以螢幕左上角為原點 ios7以前在狀態列或者導航條下 2.uiscrollview 包括其子類,比如uitableview 會自動在頂部和底部預留一些空白 因為滾動經過半透明導航條或者tabbar下面,需要能隱...
iOS7 動畫學習
該部分 實現了乙個黑色的圖形view從左到右地平滑移動 當然通過修改y座標也可以實現,由上到下的平滑移動 源自 ios7 programming code import viewcontroller.h inte ce viewcontroller property weak,nonatomic i...
ios 7 模糊效果
原文 有時候你會想要使ios7中得某些檢視產生模糊效果,那麼你該怎麼來實現呢?靜態模糊 字面翻譯。首先你要明白,這個技術是新的 以前版本的ios中用到的這種類似的東西被效能所限制,你只能截圖當前的view來獲得乙個image然後渲染模糊。但是在ios6中,你用renderincontext 方法來動...