Clover
article thumbnail
[iOS/Swift] Safe Area를 색칠하는 방법
iOS(macOS)/Swift 2022. 9. 30. 17:40

노치 디자인의 Safe Area를 색칠하는 여러 가지 방법 위의 이미지처럼 상단과 하단 Safe Area의 색을 다르게 설정해야 하는 상황이 생겼다. 우선 내가 먼저 알고 있었던 Safe Area에 색깔을 설정하는 방법은, 최상단 View의 Background Color를 설정해주는 방법 밖에는 없었다. 그런데 이 방식으로는 상/하단의 영역을 분리해서 칠하는 건 할 수 없는 것으로 확인했다. 그래서 Safe Area coloring, only bottom 등의 키워드로 구글링을 해보았다. 그 결과 예제나 라이브러리를 알게 되긴 했지만, 내가 정확히 원하는 예제를 얻어내는 데에는 실패했다. 사실 아주 단순한 방법이 있었는데, 그 방법을 바로 떠올리지를 못해서 며칠 동안 삽질을 했다. (돌고 돌아 원하는 기..

article thumbnail
[iOS/Swift] Safe Area 크기 가져오기 (iOS15~)
iOS(macOS)/Swift 2022. 9. 14. 23:13

🧐 iPhone Safe Area 크기 가져오기 Safe area의 배경색을 지정하고 싶다면, 메인 View의 BackgroundColor를 지정해주면 된다. 하지만 아래 화면처럼 상/하단이 동시에 적용이 되어버린다. 나는 아래쪽만 적용하고 싶어서, UIView를 코드로 각각 생성해서 addSubview()로 추가해주는 방식으로 해결을 했다. (더 좋은 방법이 있는지는 찾아보는 중...) 그런데 노치가 없는 디자인의 아이폰은 하단 Safe Area가 없으므로, 현재 화면상의 Safe Area의 크기를 받아와서 처리해줘야 할 필요가 있다. 그래서 아이폰의 상/하단 Safe Area의 크기를 가져와 활용할 수 있는 코드를 찾아보았다. if #available(iOS 13.0, *) { let window =..