2012-05-16 3 views
3

Как я могу получить закругленные углы на экране, пока отображается строка состояния?Округлые углы экрана во всем приложении со статусной строкой

В делегат приложения я подаю эти настройки к окну:

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

, но в верхней части экрана, я не вижу закругленный угол из строки состояния. Это проблема, потому что мне также нужна строка состояния в приложении.

Может кто-нибудь предложить, как я могу это исправить?

ответ

0

Вы хотите удалить строку состояния? Или вы пытаетесь обойти углы строки состояния? Если вы хотите обойти углы строки состояния, быстрый и простой ответ заключается в том, что вы не можете. Если вы хотите удалить строку состояния, это легко и быстро:

От компании Apple Class Reference:

setStatusBarHidden: withAnimation:

Скрывает или показывает строку состояния, при необходимости оживление перехода. - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation Parameters

скрыто ДА, чтобы скрыть строку состояния, НЕТ, чтобы отобразить строку состояния.

анимация. Постоянная, указывающая, должна ли быть анимация , и, если требуется, должно ли оно затухать в строке или должно быть включено или выключено в строке состояния.

+0

Я не хочу, чтобы удалить строку состояния. После строки состояния, когда открывается представление, мне нужны закругленные углы. – Cintu

+0

что-то вроде этого ограниченного контента - http://blog.edwardmarks.com/post/9859783254/improve-usability-with-a-black-status-bar-and-rounded – Cintu

+0

Вам не нужно оборачивать свое окно, тогда как я считаю, включает строку состояния. Вам нужно обойти основные виды контроллеров. таких как navigationController.view или rootViewController.view –

1

Если вы хотите сохранить строку состояния и по-прежнему видеть закругленные края, вам придется обойти края окна вместо окна.

В этом случае, вы код будет почти идентичен, но применительно к мнению, вместо:

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

Это будет идти в контроллере представления.

0

Добавить нижнюю строку в методе viewWillAppear. Это даст округленный видNfeel для представления. Для этого нужно включить структуру «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