Skip to content

Day 21 개발일지 iOS

정재명(Jae-Myeong) edited this page Dec 6, 2020 · 2 revisions

일요일


둥실둥실 애니메이션

어제 위글 애니메이션을 적용했을 때 문제가 두가지였다.

  1. 셀이 등장할때에도 애니메이션이 적용되는 문제. -> 그래서 셀이 등장하는 동작에도 애니메이션이 적용되어 괴랄한 움직임을 보여준 것이다. 여기에 repeatingForever까지 더해져서 이상해진 것.

    • 여기에 애니메이션 걸르는 방법 나온다.
  2. reapeating이 해제가 안되는 문제 -> nil이 아니라 무한 반복이 아닌 Animation 객체를 넘겨주어야 한다. 이유는 잘 모르겠지만, 아직 애플이 nil을 주었을 때 까지는 생각을 못한 것 같다.

    • 여기에 reapeating 끄는 법 나온다.


드래그 앤 드랍

애니메이션 하는 김에 드래그 앤 드랍으로 셀 이동하는 것 까지 구현했다.

  • tokens 데이터를 수정하고 바로 업데이트 하도록 viewModel의 trigger를 Drag 델리게이트에 넘겨주었다.

  • 드래그 중에 이동될 때 마다 키체인 저장하는건 좋지 못할 것 같다. 놓는 순간 저장되게 바꿔야 한다.

  • 드래그 중에 뒤에 있는 셀이 안보이게 하려면?? 토큰 뷰를 만들 때 opacity를 drag중인 셀인 경우 0으로 줘서 안보이게 한다. → 버그 발생 그리드 밖으로 드래그를 하게 되면 마지막 performDrop이 호출이 되지 않는다. 그래서 endAction()이 호출이 안되어 tokenOnDrag가 nil로 초기화가 되지 않는다. 이로인해 셀이 계속 안보이는 상태가 되었다. → 그래서 다시 그냥 보이게 해두었다.

  • 의문점

    • onDrag에서 NS 어쩌구 하는 건 어디에 쓰는걸까?

SwiftUI | Using onDrag and onDrop to reorder Items within one single LazyGrid?
Drag and drop in SwiftUI
Add, Edit, Move, and Drag and Drop List Rows with SwiftUI


폴더 구조 변경

  • 메인 뷰의 State, Input이 너무 커져서 파일을 분리해 주었다.
  • Util폴더를 추가하고 NavigationLazyView, NavigationFlowObject를 넣어주었다.
  • Main 그룹을 없애고 뷰모델이 있는 뷰(MainView, TokenCellView, TokenEditView)를 중심으로 그룹을 만들어주었다.
  • 각 뷰 그룹에는 뷰모델, 뷰 이렇게 두었다. 우선은 메인 뷰에만 usecase를 따로 두었다.

MainViewModel 정리

Input 별로 handler를 나눠서 관리를 해주어도 MainViewModel이 매우커지는 것을 막을 수는 없었다. 그래서 handler 별로 객체를 만들어주었다.


App Icon

로그인 뷰를 만들다보니 배경 픽셀이 약간 어긋나있는것을 보고, 배경을 바꾸는 김에 앱 아이콘을 만들어봤다.


생체인증 & 핀번호

인증을 언제 할까 고민하다가, 생체 인증 on & off 버튼을 만들어놓고 on일때만 생체 인증이 가능하게 개발하기로 결정했다.

개인 회고

(솔직히 쓰기 - 현재 파트너 또는 누군가가 본다고 생각하지 말고 미래의 내가 본다고 생각하며 쓰면 어떨까요??😏)

어진

재명

  • 주말이 하루가 더 있으면 좋을 것 같다. 뭔가 주중은 더 바쁜 느낌...
  • 오늘도 해야지 해야지 한 일들을 많이 해냈다. 뿌듯하지만 아직 모자라다. 내일은 더 화이팅있게 해야겠다.
Clone this wiki locally