금융권 프로젝트시 백그라운드 전환시 현재 화면의 민감정보들을 가려야되는 경우가 종종있다.
포그라운드 -> 백그라운드 전환시 현재 화면을 다른 대체 이미지로 가린다.
백그라운드 -> 포그라운드 전환시 대체 이미지를 다시 삭제하고 서비스 화면을 보여준다.
참고사이트 : https://dusanbaek.tistory.com/19
// 백그라운드로 쓸어 올릴때
func applicationWillResignActive(_ application: UIApplication) {
log(direction: .ETC, ofType: self, datas: ">>>>>>applicationWillResignActive")
callBackgroundImage(true)
}
// 백그라운드로 완전 전환시
func applicationDidEnterBackground(_ application: UIApplication) {
log(direction: .ETC, ofType: self, datas: ">>>>>>applicationDidEnterBackground")
}
// 포그라운드 올라오기전
func applicationWillEnterForeground(_ application: UIApplication) {
log(direction: .ETC, ofType: self, datas: ">>>>>>applicationWillEnterForeground")
}
//포그라운드로 완전 전환시
func applicationDidBecomeActive(_ application: UIApplication) {
log(direction: .ETC, ofType: self, datas: ">>>>>>applicationDidBecomeActive")
callBackgroundImage(false)
}
func callBackgroundImage(_ bShow: Bool) {
let TAG_BG_IMG = -101
let backgroundView = window?.viewWithTag(TAG_BG_IMG)
if bShow {
if backgroundView == nil {
//여기서 보여주고 싶은 뷰 자유롭게 생성
let bgView = UIView()
bgView.frame = UIScreen.main.bounds
bgView.tag = TAG_BG_IMG
bgView.backgroundColor = .black
let lbl = UILabel()
lbl.frame = UIScreen.main.bounds
lbl.textAlignment = .center
lbl.font = UIFont.systemFont(ofSize: 30)
lbl.textColor = .white
lbl.numberOfLines = 0
lbl.text = "백그라운드 진입 시\n민감한 정보 숨기기"
bgView.addSubview(lbl)
window?.addSubview(bgView)
}
} else {
if let backgroundView = backgroundView {
backgroundView.removeFromSuperview()
}
}
}
'Swift > UIViewController' 카테고리의 다른 글
[SWIFT]UIActivityViewController 공유하기 (0) | 2023.10.26 |
---|---|
[SWIFT]LogViewController 디버깅 로그 기록용 (0) | 2023.10.25 |
[SWIFT]ViewController 좌 -> 우 present Animation 효과 주기 (0) | 2023.06.08 |
[SWIFT]중첩된 ViewControll 한번에 Dismiss 하기 (0) | 2023.06.08 |
[SWIFT]UIDocumentPickerViewController (0) | 2023.06.07 |