[swift] 배터리 잔량 및 충전 상태 표시
오프닝
배터리 잔량, 충전 상태 등에 따라
저는 여러 가지 화면 전환 기능을 만들고 싶어요.
우선 그 일대를 주운 코드를 확인했습니다.
개발 환경
저번까지는 안 썼지만 요즘은 그게 중요하다는 걸 뼈저리게 느끼고 있어요.
터미널: 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
Reference
이 문제에 관하여([swift] 배터리 잔량 및 충전 상태 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ydzum1123/items/f3aa7a3c523c76737682텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)