PayPayのアプリを使用している人は多いかと思います。
いざお支払いしようとする時に
「うわっ!」「まぶしっ!」
となった方は私含め数多くいると思います。
これはバーコードを読み取りやすくするために
意図的に決済画面を開いたら画面の明るさを変更しています。
流石に眩しすぎる気がするのは私だけでしょうか?
ってわけでどうやって明るさを調整するのかというのを説明、
というよりはお見せしたいと思います。
UIScreenとは
UIScreenというオブジェクトを使用します。
UIScreenはハードウェアの画面に関連づけられたプロパティーの使えるオブジェクトです。
画面の解像度、輝度、画面の倍率を変更できるクラスだと覚えておきましょう。
UIScreen.main.brightness = 0.5
この0.5の数値の箇所を変更することで明るさを変更することができます。
明るさの段階は0.1 ~ 1.0の間となるため10や100を入れても1.0と
明るさ自体は変わりません
今回はスライダーなのでslider.valueの数値間を設定しその数値を代入すれば
明るさは変わっていきます。
こちらは全てのコードです。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let slider = UISlider(frame: CGRect(x: 100, y: 50, width: 200, height: 50))
slider.maximumValue = 100 //最大値
slider.value = 50
slider.minimumValue = 0 //最小値
slider.isContinuous = true //スライド中のイベントのある無し
//ターゲットの追加
slider.addTarget(self, action: #selector(onChange), for: .valueChanged)
view.addSubview(slider)
}
@objc func onChange(sender: UISlider) {
UIScreen.main.brightness = CGFloat(sender.value) * 0.01
}
}
私はmaximumValue=100に設定していますが,
こちらを1.0に変更すれば*0.01にする必要はございません。
UIScreen.main.brightness = CGFloat(sender.value) * 0.01
一番簡単かと思いますので、コピペして使ってください!
ABOUT ME
株式会社Playgroundのサービス
- 無料・簡単・片手でホームページを作成できる自社サービス Rakwi
- Web制作とアプリ開発を学べるオンラインプログラミング講座 Upstairs
- 開発,DX推進支援サービス スタートアッププラン