Notice
Recent Posts
Recent Comments
Link
투케이2K
174. (ios/swift) setStatusBarColor 상태 바 색상 (color) 동적 변경 실시 - UILabel , statusBarFrame 본문
IOS
174. (ios/swift) setStatusBarColor 상태 바 색상 (color) 동적 변경 실시 - UILabel , statusBarFrame
투케이2K 2022. 8. 22. 12:05[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
import UIKit
// MARK: [확장 기능 정의 색상 hex 값으로 지정]
extension UIColor {
convenience init(red: Int, green: Int, blue: Int) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
}
convenience init(rgb: Int) {
self.init(
red: (rgb >> 16) & 0xFF,
green: (rgb >> 8) & 0xFF,
blue: rgb & 0xFF
)
}
}
// MARK: [클래스 정의]
class ViewController: UIViewController {
// MARK: [뷰 메모리 로드 수행 실시]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print("")
print("===============================")
print("[ViewController >> viewDidLoad() :: 뷰 메모리 로드 실시]")
print("===============================")
print("")
// [상태 바 (status bar) 색상 변경 실시]
self.setStatusBarColor(view: self.view, rgb: 0xff00ff)
}
// MARK: - [뷰 화면 표시]
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("")
print("===============================")
print("[ViewController >> viewDidAppear() :: 뷰 화면 표시]")
print("===============================")
print("")
}
// MARK: - [뷰 종료 상태]
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
print("")
print("===============================")
print("[ViewController >> viewDidDisappear() :: 뷰 종료 상태]")
print("===============================")
print("")
}
// MARK: [동적으로 상태 바 (status bar) 색상 변경 소스 코드]
func setStatusBarColor(view: UIView, rgb: Int){
/*
// -------------------------------
[setStatusBarColor 메소드 설명]
// -------------------------------
1. 디바이스 상태 바 색상 동적으로 변경 수행 메소드
// -------------------------------
2. 뷰 컨트롤러 viewDidLoad 메모리 로드 시작 부분에서 호출 실시
// -------------------------------
3. 호출 방법 :
// [상태 바 (status bar) 색상 변경 실시]
self.setStatusBarColor(view: self.view, rgb: 0xff00ff)
// -------------------------------
*/
// [1] : 디바이스 휴대폰 상태 바 높이 사이즈 확인 실시
let statusBarHeight = UIApplication.shared.statusBarFrame.height
// [2] : 현재 화면 가로 사이즈 확인 실시
let statusBarWidth = view.frame.size.width
if statusBarHeight != nil && statusBarHeight > 0 && statusBarWidth != nil && statusBarWidth > 0 {
// [3] : 동적으로 UILabel 생성 실시
var newBar : UILabel = UILabel.init(
frame: CGRect.init(
x: 0, // 가로 시작
y: 0, // 세로 시작
width: statusBarWidth, // 가로 사이즈
height: statusBarHeight // 세로 사이즈
)
)
newBar.text = "" // 초기 설정
newBar.backgroundColor = UIColor.init(rgb: rgb).withAlphaComponent(1.0) // 배경 색상
view.addSubview(newBar) // 뷰에 추가
print("")
print("===============================")
print("[ViewController >> setStatusBarColor() :: 상태 바 색상 동적 변경 실시]")
print("[statusBarHeight :: \(statusBarHeight)]")
print("[statusBarWidth :: \(statusBarWidth)]")
print("===============================")
print("")
}
}
} // [클래스 종료]
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
176. (ios/swift) 유닛 테스트 (Unit Test) 수행 방법 설명 (0) | 2022.08.29 |
---|---|
175. (ios/swift) 스토리보드 (story board) 사용해 특정 화면 및 컴포넌트 위치 (x 축 , y 축) 이동 실시 (0) | 2022.08.23 |
173. (ios/swift) Xcode 에서 특정 검색 키워드 및 소스 코드 전체 검색 방법 (search) (0) | 2022.08.19 |
172. (ios/swift) Xcode 테마 (theme) 색상 변경 방법 - dark , light (0) | 2022.08.19 |
171. (ios/swift) AVCaptureDevice 사용해 카메라 플래시 (camera flash) on , off 수행 실시 (0) | 2022.08.19 |
Comments