[iphone-tabbar]如何自訂TabBarController

來源:互聯網
上載者:User

什麼是TabBarController

 tabbar,通常情況下用來下面互相切換ViewControllers。使用方式有幾種,其中最常見的就是指定tabArray,裡面按著順序存放controllers對象做為下面切換。這種操作可以放在AppDelegate裡面,最終,加入window上。

深入理解TabBarController

 

本人曾嘗試把TabBarController,tabbar的hidden=YES,之後發現下面黑色的tabbar沒有了,但是會有白色的東西覆蓋在上面。background Color 設定為clear都不行。 後來發現tabbar的現實內容的地方,設定的高度小了。所以導致看起來是白色的。後來把內容部分拉長,tabbar雖然還在下面那個位置,但是hidden之後,就不會有那個白色的效果了。

 

    if ( [[self.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
        contentView = [self.view.subviews objectAtIndex:1];
    else
        contentView = [self.view.subviews objectAtIndex:0];

得到內容view

 

。 如何自訂TabBarController

 

1。第一種方式是完全重寫TabBarController,使用view來代替,上面都是button,工作量非常大,有一點就是各個層級之間的切換無法弄的太透徹。什麼時候在上面,下面,什麼時候隱藏。

 

2。第二種是繼承一個UItabbarController,然後在這個子類的上層加一個View。這個的好處在於切換直接通過hide的tabbar進行中轉就行了。 

 

中轉函數。- (void)switchView:(id)sender

{    int index = [self.subviews indexOfObject:sender];

    tabbarctrl.selectedIndex = index;

}

 

最後,當我們需要badgeVale,別忘了去320找找好用的。

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.