{"id":13479012,"url":"https://github.com/eonist/FlowLayout","last_synced_at":"2025-03-27T08:31:16.133Z","repository":{"id":93635090,"uuid":"143474155","full_name":"eonist/FlowLayout","owner":"eonist","description":"Bi-directional layout framework for iOS","archived":false,"fork":false,"pushed_at":"2023-09-30T21:18:11.000Z","size":105585,"stargazers_count":182,"open_issues_count":14,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-22T02:51:18.806Z","etag":null,"topics":["animation","apple","flowlayout","ios","swift","ui","uinavigationbar","uinavigationcontroller","uiview","ux"],"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/eonist.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":"2018-08-03T21:18:41.000Z","updated_at":"2024-12-30T08:47:58.000Z","dependencies_parsed_at":"2023-03-16T14:45:37.922Z","dependency_job_id":null,"html_url":"https://github.com/eonist/FlowLayout","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonist%2FFlowLayout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonist%2FFlowLayout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonist%2FFlowLayout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonist%2FFlowLayout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eonist","download_url":"https://codeload.github.com/eonist/FlowLayout/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245809828,"owners_count":20676065,"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":["animation","apple","flowlayout","ios","swift","ui","uinavigationbar","uinavigationcontroller","uiview","ux"],"created_at":"2024-07-31T16:02:07.663Z","updated_at":"2025-03-27T08:31:15.416Z","avatar_url":"https://github.com/eonist.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"# FlowLayout\n![Lang](https://img.shields.io/badge/Language-Swift%205.0-orange.svg)\n[![version badge](https://img.shields.io/badge/Version-1.0-blue.svg?longCache=true)](https://img.shields.io/badge/SDK-0.1-blue.svg?longCache=true) \n![platform](https://img.shields.io/badge/Platform-iOS_12.2-blue.svg)\n[![codebeat badge](https://codebeat.co/badges/8139ef2c-3fcb-449d-bfa0-190b99b6f6a0)](https://codebeat.co/projects/github-com-eonist-flowlayout-master)\n[![SPM compatible](https://img.shields.io/badge/SPM-compatible-4BC51D.svg?style=flat)](https://github.com/apple/swift)\n[![codebeat badge](https://img.shields.io/badge/%235%20Producthunt-Aug--05--2018-red.svg)](https://www.producthunt.com/posts/flowlayout)\n[![SwiftLint Sindre](https://img.shields.io/badge/SwiftLint-Sindre-hotpink.svg)](https://github.com/sindresorhus/swiftlint-sindre) [![Tests](https://github.com/eonist/FlowLayout/actions/workflows/Tests.yml/badge.svg)](https://github.com/eonist/FlowLayout/actions/workflows/Tests.yml)\n\n\u003ca href=\"https://www.producthunt.com/posts/flowlayout?utm_source=badge-top-post-badge\u0026utm_medium=badge\u0026utm_souce=badge-flowlayout\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=132318\u0026theme=light\u0026period=daily\" alt=\"FlowLayout - A\u0026#0032;bi\u0026#0045;directional\u0026#0032;layout\u0026#0032;framework\u0026#0032;for\u0026#0032;iOS | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\n\u003cimg width=\"416\" alt=\"img\" src=\"https://rawgit.com/stylekit/img/master/short.gif\"\u003e\n\n### Description\nThe idea is to give aspiring app developers a dead simple \"vanilla\" swift library to start with. Just add some end point calls to instagram and you could literally have a minimal insta client in a day.\n\n### Features\n- 100% Programmatic 👌\n- [3.82 GPA on Codebeat](https://codebeat.co/projects/github-com-eonist-flowlayout-master)  🏆\n- Dual UICollectionView setup ↕️ ↔️\n- Responsive header (Compact/Normal) 📏\n- Pull-to-refresh (vertical/horizontal) 🔄\n- Constraint animation 📐\n- Works on all iPhone/iPad models 📱\n- View based (no ViewController) 🖼\n- Vanilla swift 🍦\n- 0% syntactic sugar 🍭\n- Mostly off the shelf components 🤯\n\n### Installation:\n- SPM: `.package(url: \"https://github.com/eonist/FlowLayout.git\", .branch(\"master\"))`\n\n### Pull to refresh:\n\u003cimg width=\"378\" alt=\"img\" src=\"https://rawgit.com/stylekit/img/master/Photo 04-08-2018, 13 29 23 copy.jpg\"\u003e\n\n### Compact mode:\n\u003cimg width=\"378\" alt=\"img\" src=\"https://rawgit.com/stylekit/img/master/Photo 04-08-2018, 13 30 00 copy.jpg\"\u003e\n\n### Swipe to new pages:\n\u003cimg width=\"378\" alt=\"img\" src=\"https://rawgit.com/stylekit/img/master/Photo 04-08-2018, 13 29 43 copy.jpg\"\u003e\n\n### Requires\n- the Constraint extension (Included)\n\n### Install\n- Manual: open `FlowLayout.xcodeproj`\n- Carthage: `github \"eonist/FlowLayout\" \"master\"`\n- CocoaPod (coming soon)\n\n### Credits\n- Incredible gif via [Gifski](https://github.com/sindresorhus/gifski-app)\n- The awesome people from [Swift-lang](https://slofile.com/slack/swift-lang) on Slack\n\n### Todo\n- Add stockimages\n- Fix compact mode so that the offset is inherited in the next view\n- Make a new IRL video with the new fixes\n- Keep improving the structure and clarity\n\n### Press\n- Producthunt: [https://www.producthunt.com/posts/flowlayout](https://www.producthunt.com/posts/flowlayout)\n- [MediaKit.zip](https://www.dropbox.com/s/5s59k5e0o6z5y0g/mediakit.zip?dl=0)   via dropbox\n- Blog post about FlowLayout [eon.codes/blog](http://eon.codes/blog/2018/08/05/Flow-Layout/)\n\n### License\n[MIT](https://en.wikipedia.org/wiki/MIT_License)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feonist%2FFlowLayout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feonist%2FFlowLayout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feonist%2FFlowLayout/lists"}