Как убрать закругление углов окна в приложении для iOS

iOS полна маленьких, едва заметных деталей. Например, в большинстве приложений можно заметить, что углы окна приложения слегка скруглены. Давайте уделим чуть-чуть внимания этому малозаметному нюансу.

Window Rounded Corners
Если не присматриваться, этого можно и не заметить. И большинство приложений выглядят замечательно и так. Учитывая также и то, что строка статуса автоматически подстраивает свой цвет под цвет контроллера навигации, это выглядит достаточно гармонично.

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

Для этого достаточно указать тип строки статуса – “Black translucent”. Например, в настройках проекта или сразу в Info.plist.

...
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackTranslucent</string>
...

В результате, мы избавились от скругленных углов.
No rounded corners
Однако, строка статуса теперь черная. Связано это с тем, что наш контроллер не запросил полноэкранного отображения. Т.е. хоть и мы выставили тип строки статуса как “полупрозрачный”, под ним остается черный фон, и строка статуса всегда выглядит черной.

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

-(void)viewDidLoad
{
    [super viewDidLoad];
    self.wantsFullscreenLayout = YES;
    // ... more
}

В этом случае, в распоряжении контроллера будет представление, часть которого располагается под строкой статуса. Поместив в этом месте нужный цвет (или изображение) мы можем влиять на ее цвет.

Наш пример с белым пустым контроллером в таком случае будет выглядеть так.
No rounded corners, translucent status bar

В заключении хочу сказать, что внимание к деталям отличает отличные приложения от просто хороших. Нужно вам убирать закругленные углы или нет – это должно четко вписываться в концепцию интерфейса приложения.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s