user1620350
user1620350

Reputation:

iPhone X status bar height

I have developed an app without autoLayout or interface-builder, all by code. It runs ok in all iPhones except iPhone X where the top bar stays under the new black thing in the middle.

It's possible to get that height by code, so I can shift my Navigationbar that height down and all runs normal ?

The solutions I see, they use auto layout.

I just want the get the distance to shift it down..

Upvotes: 11

Views: 12132

Answers (2)

Puttin
Puttin

Reputation: 1615

You can always get the status bar height with or without status bar hidden by:

UIApplication.shared.keyWindow!.safeAreaInsets.top

and the home screen indicator

UIApplication.shared.keyWindow!.safeAreaInsets.bottom

If it's landscape the value would change

and safeAreaLayoutGuide is there also

Upvotes: 10

Michael Hulet
Michael Hulet

Reputation: 3494

In my Swift app, I get the frame of the status bar with

Swift: UIApplication.shared.statusBarFrame

Objective-C: [UIApplication sharedApplication].statusBarFrame

That's a CGRect, so you can get its height by doing size.height on that. So, altogether, you can do this in Objective-C:

[UIApplication sharedApplication].statusBarFrame.size.height

Upvotes: 15

Related Questions