[swift] 배터리 잔량 및 충전 상태 표시

8261 단어 SwiftiOS

오프닝


배터리 잔량, 충전 상태 등에 따라
저는 여러 가지 화면 전환 기능을 만들고 싶어요.
우선 그 일대를 주운 코드를 확인했습니다.

개발 환경


저번까지는 안 썼지만 요즘은 그게 중요하다는 걸 뼈저리게 느끼고 있어요.
터미널: MacBook Pro/MacOS10.14.5(Mojave)
Xcode:10.2.1
Swift:5

화면 이미지


충전할 때

충전이 안 됐을 때.

출처


※ 스토리보드의 설정 할애.
UILAbel 3개를 구성한 것 외에는 아무것도 하지 않았기 때문이다.
viewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var lblBattery: UILabel!
    @IBOutlet weak var lblCharge: UILabel!
    @IBOutlet weak var lblChargeStatus: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        DispInitialize()

        timerFiring()
    }

    func timerFiring() {
        let timer = Timer(timeInterval: 1,
                          target: self,
                          selector: #selector(getBatteryStatus),
                          userInfo: nil,
                          repeats: true)
        RunLoop.main.add(timer, forMode: .default)
    }

    func DispInitialize() {
        lblBattery.isEnabled = false
        lblCharge.isEnabled = false
        lblChargeStatus.isEnabled = false
        lblCharge.text = "充電してるかって?"
    }

    @objc func getBatteryStatus() {
        UIDevice.current.isBatteryMonitoringEnabled = true

        let batRemain = UIDevice.current.batteryLevel
        lblBattery.text = NSString(format: "%.1f", batRemain * 100) as String + "%"
        let batStatus: UIDevice.BatteryState = UIDevice.current.batteryState
        switch batStatus {
        case .charging:
            lblChargeStatus.text = "充電中ですよ。"
        case .full:
            lblChargeStatus.text = "フルチャージ!!"
        case .unplugged:
            lblChargeStatus.text = "充電してないっす。"
        case .unknown:
            lblChargeStatus.text = "わかんね。"
        default:
            lblChargeStatus.text = "マジでわかんね。"
        }

        UIDevice.current.isBatteryMonitoringEnabled = false
    }
}

총결산


'설치'까지는 아니지만 이번에는 번거로움 없이 1단계를 시원하게 마쳤다.(매번 샘플에 따라 소스를 써도 움직이지 않고 막히는 경우가 많다.)
내용과는 직접적인 관계가 없지만 아래 항목을 참고하여 그림을 붙이는 방법 (사이즈 조정과 테두리 조정의 방법) 을 허락해 주십시오.markdown도 익숙하게 사용하고 싶어요.
· Markdown 이미지에 테두리 추가
https://qiita.com/nori-dev-akg/items/b9f1709418f39a473d08
·markdown의 이미지 크기 조정
https://qiita.com/shti_f/items/b819d7fd8cb79ae29687

좋은 웹페이지 즐겨찾기