Skip to content

2주차 발표자료 및 피드백

S021_박정아 edited this page Nov 7, 2021 · 2 revisions

📢 발표 순서

  • 10:00 ~ 10:15 정아
  • 10:15 ~ 10:30 인우
  • 10:30 ~ 10:45 나정
  • 10:45 ~ 11:00 두연

🎬 데모영상



📅 TabBar & 달력 화면

TabBar

  • UITabBarControllerUIButton을 올려서 구현하였습니다.
  • 모임등록 버튼을 누를 경우 Navigation push로 화면을 띄워줍니다.
  • image와 text를 상하로 정렬하기 위해서 찾던 중 imageEdgeInsets 등이 삭제된 것을 알게되어 Configuration을 이용하여 구현한 상태입니다.
    • iOS 15 이상의 기기만 지원이 가능하다는 점에서 수정을 고려중입니다.

달력 화면

  • UIScrollView 위에 두개의 View를 올린 상태입니다.
  • 달력은 UICollectionViewCalendar Structure를 사용하여 구현하였습니다.
    • 어플 시작시에는 현재 Month 로 달력이 초기화됩니다.
    • 이전달, 다음달 버튼을 누르면 Calendar 구조체의 메소드를 통해 매 달 1일의 Date, 요일을 받아와 UICollectionView 채워줍니다.

📝 등록 화면

  • 스크롤뷰를 이용하였습니다.
  • 달력 버튼을 클릭하면 datepicker와 toolbar가 나타나도록 구현하였습니다.
    • date picker만 추가하면 완료 버튼이 없습니다. toolbar는 날짜를 선택하고 done버튼을 누를수 있도록 하기 위해서 추가하였습니다.
  • 모임 목적, 만난 버디, 사진은 UICollectionView로 구현하였습니다.
  • 모임 목적 터치해서 선택하는 것과, 버디 추가 버튼을 눌러 친구 버디캐릭터를 만드는 부분은 아직 미구현 상태 입니다.
  • collectionView들의 DataSource는 DiffableDataSource를 활용하였습니다.
    • 기존 DataSource를 사용하면 데이터가 갱신될 때마다 collectionView를 reload해야하고, 이 때 애니메이션도 없기 때문에 사용자 경험이 떨어집니다. 반면 DiffableDataSource는 애니메이션으로 사용자 경험이 좋아집니다.
  • 메모부분 textfield는 추후 text view로 변경할 예정입니다.
    • textfield는 한줄밖에 입력이 안되기 때문입니다.
  • 모임 등록이 완료되면서 저장되는 것 또한 아직 미구현 상태 입니다.
  • combine을 활용해 viewController와 viewModel을 바인딩해 각 데이터들이 업데이트 될 수 있도록 구현하였습니다.

📑 목록화면

  • 검색 부분의 view와 목록 collectionView로 구성되어있습니다.
  • viewModel의 gatheringList를 bind하여 값을 collectionView에 보여주도록 구현하였습니다.

👨‍👩‍👧‍👦 발표 피드백

Clone this wiki locally