{"id":13902834,"url":"https://github.com/alekseyn/EasyTableView","last_synced_at":"2025-07-18T00:32:16.813Z","repository":{"id":713038,"uuid":"1050351","full_name":"alekseyn/EasyTableView","owner":"alekseyn","description":"Horizontal and vertical scrolling table views for iOS","archived":false,"fork":false,"pushed_at":"2022-05-22T21:28:15.000Z","size":1389,"stargazers_count":583,"open_issues_count":2,"forks_count":152,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-07-12T05:50:12.096Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alekseyn.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":"2010-11-04T06:54:15.000Z","updated_at":"2025-03-28T08:42:44.000Z","dependencies_parsed_at":"2022-08-16T10:45:20.334Z","dependency_job_id":null,"html_url":"https://github.com/alekseyn/EasyTableView","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/alekseyn/EasyTableView","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alekseyn%2FEasyTableView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alekseyn%2FEasyTableView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alekseyn%2FEasyTableView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alekseyn%2FEasyTableView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alekseyn","download_url":"https://codeload.github.com/alekseyn/EasyTableView/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alekseyn%2FEasyTableView/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265685524,"owners_count":23811191,"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","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":"2024-08-06T22:01:27.146Z","updated_at":"2025-07-18T00:32:16.473Z","avatar_url":"https://github.com/alekseyn.png","language":"Objective-C","readme":"[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Falekseyn%2FEasyTableView.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Falekseyn%2FEasyTableView?ref=badge_shield)\n![Language](https://img.shields.io/badge/language-Objective%20C-orange.svg)\n[![CocoaPods](https://img.shields.io/badge/Cocoa%20Pods-✓-4BC51D.svg?style=flat)](https://cocoapods.org/pods/EasyTableView)\n[![CocoaPodsDL](https://img.shields.io/cocoapods/dt/EasyTableView.svg)](https://cocoapods.org/pods/EasyTableView)\n\nEasyTableView 2.1 - May 1, 2017\n\nThe API for `EasyTableView` has been extended. Swiping a table view cell in a perpendicular direction to the normal scrolling direction of an `EasyTableView`, drags the cell out of the `EasyTableView`. If touches end with the cell away from the `EasyTableView` it will be deleted. Otherwise it will animate back to it's normal position. See `EasyTableViewController` for an example.\n\n-\nEasyTableView 2.0 - January 7, 2016\n\n__IMPORTANT NOTE__: The API for `EasyTableView` has changed of January 6, 2016. So if you have been a consumer of `EasyTableView` prior to this date, you may find that this update breaks your existing projects. \n\n\n###SUMMARY\n---\nThis project demonstrates the use of the `EasyTableView` class. The demo is intended to be run on an iPad only, but there is no reason why `EasyTableView` could not be used on an iPhone.\n\nTo use `EasyTableView` in your own project, all you need to include are the following files:\n\n```\nEasyTableView.h\nEasyTableView.m\n```\nThis was written before `UICollectionView` became available, but developers may still prefer to use `EasyTableView` for it’s simplicity.\n \n\n###DESCRIPTION\n---\n`EasyTableView` was created to address two concerns. The first is the ability to have a table view, horizontal or vertical, that only partially fills the screen. Normally one would use `UITableViewController` but as per Apple documentation, that requires table views that fill the whole screen. `EasyTableView` addresses this problem by acting as the controller for the embedded table view, and exposes a subset of table view functionality with it's own delegate methods.\n \nThe second concern addressed by `EasyTableView` is horizontal table views. Table views were initially designed to be vertical only. `EasyTableView` solves this problem by rotating the table view, and then reverse rotating table view cells. One could also provide horizontally scrolling table views by subclassing `UIScrollView`, but I wanted to create one simple, common interface for creating both vertical EasyTableViews and horizontal EasyTableViews.\n\nSo now you can create simple partial-screen table views, either vertically or horizontally, all with the same interface.\n\n\n###USAGE\n---\n\nTo understand how to use `EasyTableView`, study the code in `EasyTableViewController.m`. To create a new `EasyTableView` object, look at the methods:\n\n```\n- (void)setupHorizontalView;\n- (void)setupVerticalView;\n```\n\nCreate a vertical scrolling table view with:\n\n`\n- (id)initWithFrame:(CGRect)frame ofHeight:(CGFloat)cellHeight;\n`\n\nTo create a new horizontal scrolling table view use:\n\n`\n- (id)initWithFrame:(CGRect)frame ofWidth:(CGFloat)cellWidth;\n`\n\nFor even simpler setup, look to see how to use `EasyTableView` with a storyboard in `FlipsideViewController.m`\n\nThere are only two delegate methods that must be implemented as part of the `EasyTableViewDelegate` protocol:\n\n```\n- (NSInteger)easyTableView:(EasyTableView *)easyTableView numberOfRowsInSection:(NSInteger)section\n- (UITableViewCell *)easyTableView:(EasyTableView *)easyTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath\n```\nIf you plan to setup an EasyTableView with multiple sections, you must implement the following delegate method:\n\n```\n- (NSUInteger)numberOfSectionsInEasyTableView:(EasyTableView*)easyTableView;\n```\n\nThat's all there is to it. It is very easy to use. And yes, that is a picture of my tent!\n\n\n###KNOWN LIMITATIONS\n---\n \n1. A horizontal `EasyTableView` will correctly auto-resize it's overall length. However a horizontal `EasyTableView` will NOT necessarily correctly auto-resize it's height. \n\n2. Loading the Flickr catalog will sometimes fail due to JSON parsing errors. \n\n3. Auto-layout is not supported.\n\n\n###LICENSE\n---\n`EasyTableView` is released under the New BSD License.\n\nCopyright (c) 2010-2017, Yodel Code LLC\nAll rights reserved.\n\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Falekseyn%2FEasyTableView.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Falekseyn%2FEasyTableView?ref=badge_large)","funding_links":[],"categories":["Objective-C","etc"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falekseyn%2FEasyTableView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falekseyn%2FEasyTableView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falekseyn%2FEasyTableView/lists"}