Toy Project/To Do List (iOS)

4. TodoListCell

개발자킹콩 2021. 3. 7. 18:49

TodoListCell: collectionView에서 사용할 custom Cell 이다.

 

 

 

 

 

 

TodoListCell을 살펴보자. Cell의 형태는 아래의 사진과 같다.

그리고 필요한 3가지 기능 존재한다.

 

 

 

1. 체크버튼을 누름에 따라 delete button이 등장하고, Label이 짝대기와 함께 흐려진다.

2. delete버튼을 누름에 따라 삭제되는 기능

3. UI update 기능

 

 

 


 

 

이것은 어떻게 표현된 것일까?

짝대기는 일단 넓이 높이가 250 1 인 View이다. 

여기서 넓이가 0이면 보이지 않는 상태이고, 250이면 보여질 것이다. 

그래서 check button 이 Done 상태가 아니라면 넓이가 0이고, Done이라면 250을 유지하도록 만들면 된다. 

그렇기에 View의 Width constraint 다룰 strikeThroughWidth를 선언하였다. 연결해주면 된다.

 

 

 

strikeThroughWidth는 NSLayoutConstraint객체 이기에 아래의 width와 연결지어야 한다.

 

 

 

showStrikeThrough가 그 기능을 담을 함수이다.

 

 

 

 


 

 

 

 

 

이 두가지를 잘 살펴보자 

 

checkButtonTapped와 deleteButtonTapped의 경우 check가 되었을 때 혹은 삭제버튼을 눌렀을 때,

관리하는 객체에게 check가 되었다는 것, 삭제를 한다는 것을 알려주어야 한다. 

여기서는 그것을 알려줄 수 있게 로직을 처리해야한다. 

 

그런데 이 로직을 Cell안에서 직접 한다기 보다는 위에 클로져로 선언된 변수가 존재한다.

 

 

 

Check 를 확인할 때는 doneButtonTapHandler를 이용할 것이고,

Delete 를 요청할 때는 deleteButtonTapHandler를 이용할 것이다. 

여기서는 Closure를 수행만 하고 실제 기능은 Cell을 실제 관리하는 부분에서 구현할 것이다. 

 

 

 

 

 

 

'Toy Project > To Do List (iOS)' 카테고리의 다른 글

6. View Model  (0) 2021.03.08
5. Todo, TodoManager  (0) 2021.03.07
3. Tasks Page  (0) 2021.03.06
2. Settings Page  (0) 2021.03.05
1. Tap Bar Controller (by Storyboard)  (0) 2021.03.04