2012-10-27 129 views

回答

3

好了,默認外觀是底部的圖像中的樣子。那麼你做了什麼,首先得到頂部圖像的外觀?我的猜測是,你使用一個圖像作爲UINavigationBar的背景。找到圖像並將其替換爲不帶圓角的版本。

另一種方法是UINavigationBar子類。在這種情況下,您可能會查找該子類並查看是否存在與[self.layer setCornerRadius:3.0]類似的行並將其刪除。

+0

不,這是不是這種情況,我的新項目都有這個角落作爲默認。是的,你是對的我使用的圖像,但它沒有corner.This行爲就像應用程序的默認屬性! – Mateus

+3

哦,使用iOS 6.0時,只要使用黑色狀態欄,就會自動添加圓角。除非您使用默認狀態欄,否則我不確定您可以擺脫它們。 – Sascha

2

我認爲Sascha可能是正確的,他說當你使用黑色狀態欄時會自動添加圓角。我注意到,在我的一個新應用程序中,我的UINavigationController有圓角和黑色狀態欄,儘管我沒有將它設置在xib文件,info.plist文件甚至App Delegate中。

我做了一個快速測試,並交換了我用於UINavigationController/NavigationBar背景的圖像,並發現導航欄顏色自動影響狀態欄,而狀態欄反過來四捨五入導航欄的角(奇怪)

看到我的導航欄的快照(正在生成純粹憑藉我用的是我的UINavigationController的背景圖像的顏色的圓角!)

enter image description here

enter image description here

所以我想你的情況 - 一個建議是嘗試不同的顏色背景,看看你有沒有像我一樣的結果。

+0

以防萬一有人想知道 - 不,我的原始圖像沒有圓角。 – noobzilla

5

只需將狀態欄樣式從「黑色不透明」更改爲「黑色半透明」,並且rootViewController的所有4個角不會被舍入。只要你不設置你的視圖控制器的屬性wantsFullScreenLayout = YES在狀態欄後面不會畫任何東西。你的UIWindow必須有backgroundColor = [UIColor blackColor],所以用戶不會注意到狀態欄不是真正的「黑色不透明」。

+0

永遠找到答案!謝謝,現在所有那些討厭的角落都消失了。 – KyleStew