2012-05-16 83 views
3

如何在仍顯示狀態欄的同時在屏幕上實現圓角?在狀態欄中整個應用程序的圓角屏幕角落

在應用程序委託我將這些設置窗口:

[self.window.layer setCornerRadius:10.0]; 
[self.window.layer setMasksToBounds:YES]; 
self.window.layer.opaque = NO; 

但在屏幕的頂部,我沒有看到,因爲在狀態欄的圓角。這是一個問題,因爲我也需要應用程序中的狀態欄。

任何人都可以建議我如何解決這個問題嗎?

回答

0

是否要刪除狀態欄?或者你是否試圖圍繞狀態欄的角落?如果你想繞過狀態欄的角落,那麼快速簡單的答案就是你不能。如果你想刪除的狀態欄,這是快速簡便:

從蘋果類參考:

setStatusBarHidden:withAnimation:

顯示或隱藏狀態欄,可選動畫過渡。 - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation Parameters

隱藏YES隱藏狀態欄,NO顯示狀態欄。

動畫,指示是否應該有一個 動畫,並且如果請求的一個,它是否應該淡出狀態 欄或縮小,或者是否它應該或縮小狀態欄滑動的常量。

+0

我不想刪除的狀態欄。在視圖開始狀態欄後,我需要圓角。 – Cintu

+0

有些事情像這樣有限的內容 - http://blog.edwardmarks.com/post/9859783254/improve-usability-with-a-black-status-bar-and-rounded – Cintu

+0

你不需要繞過你的窗口,然後因爲我相信包含狀態欄。你需要圍繞你的控制器基本視圖。如navigationController.view或rootViewController。查看 –

1

如果你想保持狀態欄,仍然可以看到圓形的邊緣,你必須將視圖的邊緣而不是窗口四捨五入。

在這種情況下,你的代碼將幾乎相同,但應用於視圖,而不是:

[self.view.layer setCornerRadius:10.0]; 
[self.view.layer setMasksToBounds:YES]; 
self.view.layer.opaque = NO; 

這將走在視圖控制器。

0

viewWillAppear方法中添加以下行。它會給圓角的視覺感覺。爲此包括'QuartzCore`框架。

self.view.layer.cornerRadius = 10.0 

希望這可以幫助你。

0

我知道這個問題是舊的,但只是把

func applicationDidBecomeActive(_ application: UIApplication) { 
    window?.layer.cornerRadius = 10 
    window?.clipsToBounds = true 
    window?.backgroundColor = UIColor.black 
} 

在AppDelegate.swift和您在您的應用隨處可見圓角:d