티스토리 뷰
오랜만에 작성하는 TIL이다.
꾸준히 일기쓰는 것 처럼 했어야 했는데... 다시 오늘부터 시작!
iOS 개인프로젝트
오늘은 움찬러너 메인 화면을 구현했다.
기능적인 것은 일단 제외해두고 화면 레이아웃부터 구현했다.
딱히 어려운 것은 없었는데 scrollView를 이용해 내부 View들이 스크롤 가능하게 하는 법은 오늘 처음 알게 되었다.
평소에 테이블뷰나 콜렉션뷰를 뷰컨트롤러 전체에 채워두고 하니 scrollView를 따로 사용할 필요성을 못 느꼈는데,
이번 기회에 레이블, 버튼, 뷰 들로만 구성하여 레이아웃을 구현하니 scrollView가 꼭 필요한 것을 알았다.
서울시 전체에 대한 지도를 구현하려고 하니 이것을 어떻게 해야하나 고민에 빠졌었다.
마침 어디선가 얻은 서울시 ai파일을 sketch에 옮기니 구랑 한강이랑 다 조각조각 나눠지더라...!
각 조각 View마다의 x,y좌표와 width, height값을 화면에 맞게 변환해서 커스텀 이미지뷰를 생성하도록 했다.
나중에 클릭 이벤트 처리도 해줄 것을 고려하여 레이어로 rendering하지 않고 각 뷰를 모두 생성해서 전체 Map뷰에서 소유하도록 해주었다.
이제 이것을 어떻게 눈에 잘들어오고 이쁘게 하는지가 관건인 것 같다.
이렇게 구현을 하면서 뷰가 생성되는 시점에 호출되는 함수들과 layoutSubView같은 뷰가 화면에서 변경되어야 할 때 호출되어야 하는 함수들의 의미에 대해서 다시 생각해보는 계기가 된 것 같다.
화면을 landscape모드로 전환할 때 layoutSubView에 위치를 조정해주는 함수를 호출해주지 않으면 portrait모드일 때랑 같은 크기와 위치 값을 가지더라.
그래서 이에 대한 처리를 해주었다.
마지막으로 기본 네비게이션바를 사용하려고 했었는데 처음에 기획했던 디자인과 좀 잘 안맞을 것 같아서 큰 맘먹고(?) 커스텀으로 해보기로 했다.
평소 apple이 제공하는 view를 사용하지 않고 커스텀으로 제작해서 사용하는 것이 뭔가 방향성을 이탈하는 것이라고 생각하고 있었다.
HIG를 위반하는?
모르겠다. 일단 이번에는 커스텀 네비게이션 바를 구현해봐야 겠다.
'회고' 카테고리의 다른 글
[TIL] 19.08.20 (0) | 2019.08.21 |
---|---|
[TIL] 19.08.15 (0) | 2019.08.16 |
[TIL] 19.08.08 (0) | 2019.08.09 |
[TIL] 19.08.05 (0) | 2019.08.06 |
[TIL] 19.08.04 (0) | 2019.08.05 |