[모각코] 팀 프로젝트 여섯번 째 회의

krystal·2022년 8월 7일
0
post-thumbnail

지난 회의 TIL에서 본 것같이 협업을 위해선 VC를 코드로만 짰어야했다.
내가 맡았던 화면은 홈화면이다. (시계기능 + 버튼 + 그 외 디자인 구현)

코드로만 짜면서 알게된 사실을 몇 가지 정리하자면 다음과 같았다.

1. 화면에 요소들을 보이게 하려면 view.addSubview()라는 함수를 사용했어야했다. (처음엔 도대체 왜 안나오는지 이해를 못했다.)
2. 기기의 크기에 따른 요소 배치를 위해선 AutoLayout와 Constraint를 사용했어야했다
(1) .translatesAutoresizingMaskIntoConstraints 속성을 false로 설정해야한다. (충돌을 없애기 위해서라고함)
(2) 이 때 addSubview()함수보다 먼저 작성하게 되면 오류가 나니 위치를 조심해야한다.
(3) x축의 센터로 정렬하고 싶을 땐, centerXAnchor의 값을 true로 하면 된다. y축도 마찬가지.
(4) .leadingAnchor는 왼쪽의 공간을 설장하고 싶을때 쓰고, 오른쪽은 .trailingAnchor

구글링으로 어찌어찌하다 보니, 피그마에 디자인된 화면과 같이 구현이 완료가 된 상태에서 팀 회의를 시작하였다.
코드를 좀 더 깔끔하게 정렬하기 위해선 func과 extension을 쓰게 되었다.

화면에 넣어질 요소들을 따로 함수화하여 만들고, Layout에 배치될 설정들은 또 다시 함수화 해주었다.
그 후, AutoLayout이라는 함수를 만들어 Layout 함수들을 다 넣어주어 viewDidLoad()때 코드가 간략화될 수 있게 해주었다. 그렇게되니 코드가 훨씬 깔끔해질 수 있었다.

시간이 지남에 따라 화면에 나오는 시간도 바뀌길 바랬는데 이는 계속 formatter 값을 불러와서 초기화할 수 있도록 하면 되는 것이었다. Timer.scheduledTimer 를 사용하여 시간의 interval과 시간 간격에 따라 시간을 나타내는 텍스트를 초기화하는 함수를 부를 수 있게 만들었다.


그 다음은 Shop을 나타내는 VC를 구현하기로 했다. 이 VC는 CollectionView라는 것을 사용해야된다고 하는데, 어차피 다 해봐야하는 거 새로운거 해보자 싶어서 얘를 맡게 되었다.
처음 걱정과 다르게 그래도 할만했다. (계속 이런 느낌이었으면 좋겠는데..ㅎ)
profile
https://source-coding.tistory.com/

0개의 댓글