티스토리 뷰
지금 딴 거를 작성하는데
해당 글이 잘 안써져서 길어져서 간단한 다른 이야기를 먼저 올려볼까합니다.
혹시 아이폰에 자체적으로 확대 / 축소 기능이 있다는거 아시나요?
그게 뭔지 모르시는 분들을 위해 간단히 설명드리면
아래처럼 설정에 들어가시면 보이시는 "디스플레이 확대/축소"를 의미합니다.
이 기능을 사용하면 각종 화면이 크게 보이는 걸 확인할 수 있습니다.
이 기능을 뭐하러 감지(이벤트처리)하냐고 물어보시면
이 기능을 킨 상태로 화면을 보면 이상하게 보이는 경우가 있기 때문입니다
이때는 원인을 찾은 다음 해당 모드일때만 다르게 처리하면 되겠죠?
방법은 간단합니다.
// 아래 조건이 true 인 경우를 기준으로 작성했습니다.
// 확대모드입니다.
UIScreen.main.scale < UIScreen.main.nativeScale
// 일반적인 경우 입니다.
UIScreen.main.scale == UIScreen.main.nativeScale
// 아이폰 mini처럼 화면이 작은 종류인 경우
UIScreen.main.scale > UIScreen.main.nativeScale
이걸 어떻게 쓰냐고요?
아래처럼 사용하시면 됩니다.
override func viewDidLoad() {
super.viewDidLoad()
// 확대모드일때만 작동하게 변경
if(UIScreen.main.scale < UIScreen.main.nativeScale){
self.isZoomDisplay = true // 미니 제외
}
}
* 미세 팁
화면이 이상하게 보이는 경우는 원인이 다양하지만
저의 경우에는 화면이 굉장히 작아져서 이미지가 잘려보이는 현상이 있어
일부 NSLayoutConstraint 의 값을 다르게(훨씬 작게) 적용되도록 바꾸었더니 정상적으로 나왔습니다.
(고정값으로 준 값들을 한번 확인해보시는걸 추천드립니다.)
저처럼 고통받으시는 분들이 있을것같아 올려봅니다.
오늘도 파이팅입니다.
'iOS개발 > Swift 기본' 카테고리의 다른 글
swift 현재 열린 UIViewController 전부 닫기 (0) | 2023.06.26 |
---|---|
Swift Tag 모양 UI 만들기 (with UICollectionView 활용) (0) | 2023.06.21 |
Swift UIPickerView 기본 다루기 (0) | 2023.05.08 |
Swift 스와이프 기능 넣기 (UISwipeGestureRecognizer) (0) | 2023.04.21 |
Swift 날짜 변화 이벤트 처리 (significantTimeChangeNotification) (0) | 2023.04.17 |
댓글