{"id":16482789,"url":"https://github.com/shaps80/columnview","last_synced_at":"2025-03-23T12:32:24.409Z","repository":{"id":69909715,"uuid":"194719955","full_name":"shaps80/ColumnView","owner":"shaps80","description":"A column-view navigation controller that behaves similarly to Files and Finder","archived":false,"fork":false,"pushed_at":"2019-11-19T16:32:25.000Z","size":1720,"stargazers_count":21,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-11T13:12:16.596Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaps80.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-01T18:00:54.000Z","updated_at":"2023-05-04T14:34:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef800369-9ca6-4711-b787-b240d909541a","html_url":"https://github.com/shaps80/ColumnView","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FColumnView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FColumnView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FColumnView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaps80%2FColumnView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaps80","download_url":"https://codeload.github.com/shaps80/ColumnView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221850493,"owners_count":16891637,"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-10-11T13:12:02.650Z","updated_at":"2024-10-28T15:46:43.353Z","avatar_url":"https://github.com/shaps80.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Column View\n\n![Sample video of my column view navigation controller](sample.GIF)\n\nThis framework contains a Files-inspired implementation of a 'Column View' layout. Also similar to what's found in Finder on macOS.\n\n\nThis repo contains 2 main class types:\n\n- `ColumnViewNavigationController`\n\n\u003e For an out-of-the-box solution, simply update your navigation controller class to be this type. This automatically manages your navigation controler to ensure your app behaves as expected based on the current size class.\n\n- `ColumnViewController` \n\n\u003e For a custom solution with no dependencies on navigation controller, you can use the column view directly, provides a horizontally stacked controller implementation. This is useful for example when you want to embed a navigation controller into each column.\n\nDownload the repo and run the sample project to see it in action.\n\n---\n\nFinally wherever you're calling `pushViewController` just update it to call:\n\n```swift\n// This will replace all controllers after the specified controller as expected\npushViewController(:after:animated:)\n```\n\n## Features\n\nFor a relatively simple solution, plenty of features are included nonetheless:\n\nAll new features\n- Right-to-Left support\n- Column live-resizing\n- Configurable overscroll\n\nFamiliar API\n- `pushViewController`\n- `popViewController`\n- `popToViewController`\n- `popToRootViewController`\n\nCustomizations\n- Column width (per view)\n- Custom separator (per view)\n- Separator thickness\n- Separator color\n\nModern API\n- Dark mode support (iOS 13)\n- Catalyst support (Xcode 11)\n- Size class support, automatically switches between navigation controller and horizontal layout\n- Automatically updates navigationBar title and items\n- Automatically updates toolbar items\n- State restoration support\n\n## Installation\n\nThe project is only 2 files so simple download the repo and copy those files into your project:\n\n1. `ColumnsController`\n2. `ColumnsViewController`\n\n## Usage\n\nUsing the framework is extremely simple. Update your navigation controller class to be: `ColumnsController` and you're done.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaps80%2Fcolumnview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaps80%2Fcolumnview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaps80%2Fcolumnview/lists"}