Giter Site home page Giter Site logo

dropdowntableview's Introduction

DropdownTableView 직접 구현

(SnapKit)

설명

  • 테이블 뷰 형식의 메뉴를 탭했을 때
  • 아래로 세부 메뉴가 나오는 Dropdown을 직접 만들었다
  • 셀을 탭하는 것이 아닌 헤더를 탭하는 것
    • UITapGestureRecognizer
    • 탭했을 때, section값을 tag값으로 하고
    • 이 tag값을 delegate로 MainViewController에서 지금 눌려있는 값(currentTappedSectionIndex)과 비교
    • 다음 세 가지 경우가 나온다
      • 아무것도 눌려있지 않은 상태에서, 탭하는 경우 (currentTappedSectionIndex = nil)
      • 1개가 눌려있는 상태에서, 탭하는 경우 (currentTappedSectionIndex는 어떠한 Int값을 갖고 있을 것이다)
      • 1개가 눌려있는 상태에서, 열려있는 것을 탭하는 경우(= 같은 것을 누르는 경우) (currentTappedSectionIndex == tag)
  • 탭 되면 테이블뷰를 reload 하는데
  • currentTappedSectionIndex을 이용하여
    • 열려있는 섹션의 셀의 개수는 제대로 된 값을 리턴하고
    • 닫혀있는 섹션의 셀의 개수는 0을 리턴하면 된다

결과

dropdowntableview's People

Contributors

prettyturtle avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.