在iOS6中,statusbar的顏色是由當前頁面的UINavigationBar決定的,也就是當前view中的UINavigationBar決定statusbar的tintColor的。如果我們的UIViewController是UINavigationController的子集,那麼就好statusbar的顏色還好設置,如果UINavigationBar被hide掉,或是根本就沒有UINavigationController,那麼在iOS6上statusbar的顏色就是黑色。
如何辦呢?我們如何才能在iOS6上設置statusbar的顏色?
剛才說了,statusbar的顏色是由UINavigationBar決定的,那麼我們可不可以在當前view中放一個UINavigationBar並設置其顏色,影響其statusbar的顏色。 我們的假設是正確的,這個方法的確可行。
在我們的view中放入一個UINavigationBar,並設置其frame=CGRectMake(0, -43, 320, 44); 在這兒y的值一定得是-43(UINavigationBar有一個像素的值),不然一樣達不到效果。
這樣就其實了想要的結果