{"id":18917791,"url":"https://github.com/oyvinddd/ohcubeview","last_synced_at":"2025-04-15T09:32:14.167Z","repository":{"id":52964236,"uuid":"66918935","full_name":"oyvinddd/ohcubeview","owner":"oyvinddd","description":"A UIScrollView subclass inspired by the Instagram Stories cube animation","archived":false,"fork":false,"pushed_at":"2021-04-12T08:08:36.000Z","size":25391,"stargazers_count":66,"open_issues_count":1,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T19:39:06.353Z","etag":null,"topics":["instagram","instagram-stories-cube","ios","swift","uikit"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/oyvinddd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-30T07:50:24.000Z","updated_at":"2024-08-01T06:36:29.000Z","dependencies_parsed_at":"2022-08-19T20:21:12.362Z","dependency_job_id":null,"html_url":"https://github.com/oyvinddd/ohcubeview","commit_stats":null,"previous_names":["oyvind-hauge/ohcubeview"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Fohcubeview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Fohcubeview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Fohcubeview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Fohcubeview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oyvinddd","download_url":"https://codeload.github.com/oyvinddd/ohcubeview/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249042990,"owners_count":21203392,"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":["instagram","instagram-stories-cube","ios","swift","uikit"],"created_at":"2024-11-08T10:28:10.828Z","updated_at":"2025-04-15T09:32:09.149Z","avatar_url":"https://github.com/oyvinddd.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OHCubeView\nScroll view subclass inspired by the Instagram Stories cube.\n\n![demonstration](/Resources/ohcubeview-demonstration.gif)\n\n### Requirements\n- iOS \u003e= 9.0\n- Autolayout\n\n#### N.B.\nOnly supports portrait mode.\n\n## Installation\n\n### CocoaPods\n\nIn your podfile, add `pod 'OHCubeView'` and run `pod install`. Done!\n\n## Usage\n\n- Using interface builder, add a UIScrollView instance to the storyboard and make it a subclass of OHCubeView. Hook the instance up to an `IBOutlet` in the view controller.\n\n![Usage 1](/Resources/usage-1.png)\n\n- In your view controller, programmatically add subviews to the cube view (note that this can be any kind of UIView subclass). Layout constraints are automatically added to the subviews.\n\n```swift\nimport UIKit\nimport OHCubeView\n\nclass ViewController: UIViewController {\n\n    @IBOutlet weak var cubeView: OHCubeView!\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        // 1. Create subviews for our cube view (in this case, five image views)\n        \n        let iv1 = UIImageView(image: UIImage(named: \"img1\"))\n        let iv2 = UIImageView(image: UIImage(named: \"img2\"))\n        let iv3 = UIImageView(image: UIImage(named: \"img3\"))\n        let iv4 = UIImageView(image: UIImage(named: \"img4\"))\n        let iv5 = UIImageView(image: UIImage(named: \"img5\"))\n        \n        // 2. Add all subviews to the cube view\n        \n        cubeView.addChildViews([iv1, iv2, iv3, iv4, iv5])\n    }\n}\n```\n\n## TODOs\n- Support for infinite paging\n- Add custom delegate methods\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foyvinddd%2Fohcubeview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foyvinddd%2Fohcubeview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foyvinddd%2Fohcubeview/lists"}