{"id":24714428,"url":"https://github.com/ml-opensource/fzaccordiontableview","last_synced_at":"2025-08-10T00:06:42.538Z","repository":{"id":35439820,"uuid":"39706204","full_name":"ml-opensource/FZAccordionTableView","owner":"ml-opensource","description":"FZAccordionTableView transforms your regular UITableView into an accordion table view.","archived":false,"fork":false,"pushed_at":"2018-03-04T21:32:21.000Z","size":392,"stargazers_count":163,"open_issues_count":5,"forks_count":43,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-08-04T22:13:09.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ml-opensource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-25T23:22:12.000Z","updated_at":"2025-01-20T09:00:10.000Z","dependencies_parsed_at":"2022-08-20T20:20:32.589Z","dependency_job_id":null,"html_url":"https://github.com/ml-opensource/FZAccordionTableView","commit_stats":null,"previous_names":["ml-opensource/fzaccordiontableview","fuzz-productions/fzaccordiontableview"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/ml-opensource/FZAccordionTableView","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2FFZAccordionTableView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2FFZAccordionTableView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2FFZAccordionTableView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2FFZAccordionTableView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ml-opensource","download_url":"https://codeload.github.com/ml-opensource/FZAccordionTableView/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2FFZAccordionTableView/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269654977,"owners_count":24454351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-27T08:16:33.904Z","updated_at":"2025-08-10T00:06:42.473Z","avatar_url":"https://github.com/ml-opensource.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](Images/Logo.png)\n[![Slack Status](https://fuzz-opensource.herokuapp.com/badge.svg)](https://fuzz-opensource.herokuapp.com/)\n\n## Overview \n\nFZAccordionTableView transforms your regular UITableView into an accordion table view. The table view section headers are used as tappable areas to collapse rows - just tap a section header, and all of the rows under that section will open below the header and viceversa.\n\nThe module is made to be very easy to use and no modifications are necessary to achieve the default behaviour. Just build a table view with cells and section headers and subclass the classes in this module.\n\n### FZAccordionTableView Class:\n\n```swift\nclass FZAccordionTableView: UITableView {\n\n    var allowMultipleSectionsOpen: Bool\n    var keepOneSectionOpen: Bool\n    var initialOpenSections: Set\u003cNSNumber\u003e?\n    var enableAnimationFix: Bool\n\n    func isSectionOpen(_ section: Int) -\u003e Bool\n    func toggleSection(_ section: Int)\n    func section(forHeaderView headerView: UITableViewHeaderFooterView) -\u003e Int\n\n}\n```\n\n### FZAccordionTableViewHeaderView Class:\n```swift\nclass FZAccordionTableViewHeaderView : UITableViewHeaderFooterView { \n\n}\n```\n\n### FZAccordionTableViewDelegate Protocol:\n```swift\nprotocol FZAccordionTableViewDelegate: NSObjectProtocol {\n\n    func tableView(_ tableView: FZAccordionTableView, canInteractWithHeaderAtSection section: Int) -\u003e Bool\n\n    func tableView(_ tableView: FZAccordionTableView, willOpenSection section: Int, withHeader header: UITableViewHeaderFooterView?)\n    func tableView(_ tableView: FZAccordionTableView, didOpenSection section: Int, withHeader header: UITableViewHeaderFooterView?)\n\n    func tableView(_ tableView: FZAccordionTableView, willCloseSection section: Int, withHeader header: UITableViewHeaderFooterView?)\n    func tableView(_ tableView: FZAccordionTableView, didCloseSection section: Int, withHeader header: UITableViewHeaderFooterView?)\n    \n}\n```\n\n## How To Use?\n### Steps:\n\n1. Add to Podfile: `pod 'FZAccordionTableView', '~\u003e 0.2.3'`\n2. Subclass your `UITableView` with `FZAccordionTableView`\n3. Subclass your `UITableViewHeaderFooterView` with `FZAccordionTableViewHeaderView`\n\n## Example\n![](Images/First_Example.gif) ![](Images/Second_Example.gif)\n\n## How Does it Work?\nFZAccordionTableView acts as an intermediator between your implementation of `UITableViewDelegate`/`UITableViewDataSource` and UITableView. FZAccordionTableView implements `UITableViewDelegate` and `UITableViewDataSource`, asks you how many rows you want to display, and reports a different amount to UITableView if a particular section is \"closed.\" Subclassing of UITableViewHeaderFooterView lets FZAccordionTableView know when a particular section is being \"opened\" or \"closed.\"\n\n## License\nFZAccordionTableView is released under the MIT license. See LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-opensource%2Ffzaccordiontableview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fml-opensource%2Ffzaccordiontableview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-opensource%2Ffzaccordiontableview/lists"}