這段時間了解下uitabbarcontroller,今天把我遇到的問題和心得記錄下。
網上有很多uitabbarcontroller的資料,對於一些uitabbarcontroller的基礎性知識,在這裡我就不囉嗦了。可以看這裡(今天我要說的是自己的一些不同於網上的的心得。
官方的一副還是要貼出來。
我也按網上的方式做了乙個uitabbarcontroller的demo。如下圖
它的具體**為:
- (void)viewdidload
執行完上面**發現以下幾個問題:
1.tabbar的背景色不對;
2.item的標題位置不對,字型太小了;
3.tab bar的位置不對,不一定在底部吧。
4.tab bar的高度不一定固定48這個高度的吧。
等等的需要處理的問題的。
第乙個問題首先要理解custom content和tab bar的實際區域:圖一很清楚的描述了乙個utabbarcontroller包含了三部分。但是custom content和tab bar的範圍是怎麼樣的呢?我開始一直以為custom content不包括tab bar的範圍,即cgrectmake(0,0,320,480)的 uitabbarcontroller檢視,custom content就為432p大小,tab bar為48p(這個高度還待驗證)。而實際情況是:custom content 為480p,tabbar只是覆蓋在custom content上。如果tabbar沒有設定背景顏色或背景就會顯示custon conten檢視的顏色。
[_tabbar.tabbar setbackgroundcolor:[uicolor redcolor]];
[_tabbar.tabbar setbackgroundimage:[uiimage imagenamed:@"bottombk.png"]];
uioffset offset;
offset.horizontal = 0.0;
offset.vertical = -15.0;
[item settitlepositionadjustment:offset];
[item release];
處理問題3:調整tab bar的位置
_tabbar.tabbar.frame = cgrectmake(0, 50, self.view.bounds.size.width, 200);
就是y為50的,高度為200的區域內了。
還有幾個未處理好的問題:
1.tab bar的項(item)加入的大於tab bar的高度的話,沒有辦法調整了。
uitabbaritem*item = [[uitabbaritemalloc]initwithtitle:
@"asdfas"
image:[uiimageimagenamed:
@"102@2x.png"
]selectedimage:[uiimageimagenamed:
@"102-sel@2x.png"
]];
self
.tabbaritem= item;
以上的**執行的結果:
只能修改的大小了。
2.tabe bar的高度修改不了。
總結:鑑於uitabbarcontroller提供開放的介面有限,有些地方欠缺完美處理,這個也是uitabbarcontroller的不足之處,不過目前它能滿足我們的大部分需求了。在使用的時候注意custom content和tab bar 。很好的使用屬性tabbar。
UITabBarController的實現方法
2 新建三個file,都繼承uiviewcontroller,分別取名為firstviewcontroller,secondviewcontroller,thirdviewcontroller。且都帶有xib檔案,三個xib檔案的背景分別設定為黃色 墨綠色 紅色 3 新建乙個file,繼承uitab...
UITabBarController的使用步驟
初始化 uitabbarcontroller 設定uiwindow的rootviewcontroller為 uitabbarcontroller 根據具體情況,通過addchildviewcontroller方法新增對應個數的子控制器 uitabbarcontroller新增控制器的方式有2種 新增...
apache的RewriteMap使用心得
在apache的環境下,rewrite還真是生活之友啊,時不時就得用上。前些日子有個需求,要將url重新轉一轉。原來的url 轉換後的url 需要把粗體部分的url進行urlencode,能看出上面的字元 都分別轉義過,作為引數發給另外乙個url。那麼這時候請出rewrite還真是最合適不過了。查查...