{"id":11325734,"url":"https://github.com/sreznic/InfiniteScroller","last_synced_at":"2025-09-25T16:31:30.103Z","repository":{"id":192419292,"uuid":"290860598","full_name":"sreznic/InfiniteScroller","owner":"sreznic","description":"Horizontal and Vertical collection view for infinite scrolling that was designed to be used in SwiftUI","archived":false,"fork":false,"pushed_at":"2020-11-28T19:09:58.000Z","size":2788,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-25T16:31:19.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","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/sreznic.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,"governance":null}},"created_at":"2020-08-27T19:12:21.000Z","updated_at":"2024-03-18T02:29:29.000Z","dependencies_parsed_at":"2023-09-04T18:48:54.358Z","dependency_job_id":null,"html_url":"https://github.com/sreznic/InfiniteScroller","commit_stats":null,"previous_names":["cointowitcher/infinitescroller","serhrez/infinitescroller","sreznic/infinitescroller"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sreznic%2FInfiniteScroller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sreznic%2FInfiniteScroller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sreznic%2FInfiniteScroller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sreznic%2FInfiniteScroller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sreznic","download_url":"https://codeload.github.com/sreznic/InfiniteScroller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234215573,"owners_count":18797464,"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-06-18T03:05:14.158Z","updated_at":"2025-09-25T16:31:24.671Z","avatar_url":"https://github.com/sreznic.png","language":"Swift","readme":"# InfiniteScroller\n\n[![Swift Version][swift-image]][swift-url]\n[![License][license-image]][license-url]\n[![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\u003ctable cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none;\"\u003e\n\u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/cointowitcher/InfiniteScroller/blob/master/docs/time_picker_example.gif\" width=\"412\"\u003e\n\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/cointowitcher/InfiniteScroller/blob/master/docs/example.gif\" width=\"600\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c/table\u003e\n\n\n## Example\n\n```swift\nstruct ContentView: View {\n    @State var selected: Int = 1\n    var body: some View {\n        InfiniteScroller(direction: .vertical(height: 50), items: [1,2,3,4], \n        selectedItem: $selected, visibleCells: 3, cellSpacing: 0) { Text(\"\\($0)\") }\n    }\n}\n```\nand you good to go.\nBut if something doesn't go well, you can always clone the repo and check 'Example' folder\n\n### Updating\n\nIf you need to update cells which has already been loaded, you can enable this feature by passing\n'updating' argument to the constructor of InfiniteScroller and setting it to true. Recommended to be disabled if you\ndon't need this feature\n\n### How it works?\n\nIt uses InfiniteLayout library(https://github.com/arnauddorgans/InfiniteLayout) underneath, so you can extend its functionality\n\n## Installation\n\n### [Swift Package Manager](https://github.com/apple/swift-package-manager)\nSelect File \u003e Swift Packages \u003e Add Package Dependency and enter https://github.com/cointowitcher/InfiniteScroller.git \n\n## Known issues\n\n- Items aren't displayed correctly if the amount of the items is less or equal to visibleCells parameter. So, make sure to pass more items than visible cells\n\n## Contribute\n\nWe would love you to contribute to this project, the project is opened for modifications. \n\n## License\n\nInfiniteScroller is available under the MIT license. See the LICENSE file for more info.\n\n[swift-image]:https://img.shields.io/badge/swift-5.2-orange.svg\n[swift-url]: https://swift.org/\n[license-image]: https://img.shields.io/badge/License-MIT-blue.svg\n[license-url]: LICENSE\n[codebeat-image]: https://codebeat.co/badges/c19b47ea-2f9d-45df-8458-b2d952fe9dad\n[codebeat-url]: https://codebeat.co/projects/github-com-vsouza-awesomeios-com\n","funding_links":[],"categories":["🌎 by the community"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsreznic%2FInfiniteScroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsreznic%2FInfiniteScroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsreznic%2FInfiniteScroller/lists"}