Z-Dog
Z-Dog

Reputation: 181

Get Current Screen Brightness

Does anyone know how to get the user's current screen brightness or temporarily change the brightness just for one view?

When the user launches a specific view the screen dims to the lowest brightness possible. In this case, I'm using:

UIScreen.mainScreen().brightness = CGFloat(0.0)

But I want to know that when the user dismisses the view the brightness returns to exactly what they had.

An app that uses this is Stocard. When viewing a card's barcode the screen's brightness brightens to the max and when the barcode view dismisses the screen's brightnes returns to exactly what the user had before.

If anyone knows how to do this in Swift 2.3 that would be great.

Upvotes: 8

Views: 8304

Answers (3)

alexringo
alexringo

Reputation: 157

Get current screen brightness Swift 3

    let currentBrightness = UIScreen.main.brightness  

Set screen brightness Swift 3

    UIScreen.main.brightness = CGFloat(0.7)  

The range is 0.0 - 1.0 as mentioned in Apple's documentation

Upvotes: 8

Ryan Collins
Ryan Collins

Reputation: 729

You're looking for the UIScreen class.

Just access the main screen and get the property like this:

UIScreen.mainScreen().brightness

i.e.

let currentBrightness = UIScreen.mainScreen().brightness

(You can also set the brightness property in addition to getting it)

In Swift 4+

let currentBrightness = UIScreen.main.brightness

Upvotes: 10

Shashi Ranjan
Shashi Ranjan

Reputation: 154

You will need to save the value you want to set yourself in your NSUserDefaults and call setBrightness: in your application delegate's applicationDidBecomeActive: method to restore the brightness.

Upvotes: 0

Related Questions