{"id":3080,"url":"https://github.com/Ramotion/paper-onboarding","last_synced_at":"2025-08-06T16:31:55.990Z","repository":{"id":41390149,"uuid":"57029421","full_name":"Ramotion/paper-onboarding","owner":"Ramotion","description":":octocat: PaperOnboarding is a material design UI slider. Swift UI library by @Ramotion","archived":false,"fork":false,"pushed_at":"2022-07-08T09:19:13.000Z","size":23197,"stargazers_count":3324,"open_issues_count":9,"forks_count":337,"subscribers_count":66,"default_branch":"master","last_synced_at":"2024-10-29T15:34:07.404Z","etag":null,"topics":["component","ios","library","swift"],"latest_commit_sha":null,"homepage":"https://www.ramotion.com/agency/app-development/","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/Ramotion.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":"2016-04-25T09:30:38.000Z","updated_at":"2024-10-23T12:09:20.000Z","dependencies_parsed_at":"2022-07-28T23:09:14.065Z","dependency_job_id":null,"html_url":"https://github.com/Ramotion/paper-onboarding","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fpaper-onboarding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fpaper-onboarding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fpaper-onboarding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fpaper-onboarding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ramotion","download_url":"https://codeload.github.com/Ramotion/paper-onboarding/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228923732,"owners_count":17992569,"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":["component","ios","library","swift"],"created_at":"2024-01-05T20:16:30.831Z","updated_at":"2024-12-09T16:31:12.578Z","avatar_url":"https://github.com/Ramotion.png","language":"Swift","funding_links":["https://paypal.me/Ramotion"],"categories":["Walkthrough / Intro / Tutorial","Libs","iOS","Swift","UI [🔝](#readme)","Content"],"sub_categories":["Web View","UI","Components","Other free courses","PaperOnboarding","Table View"],"readme":"\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=paper-onboarding\"\u003e\u003cimg src=\"https://github.com/Ramotion/folding-cell/blob/master/header.png\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/Ramotion/folding-cell\"\u003e\n\u003cimg align=\"left\" src=\"https://github.com/Ramotion/paper-onboarding/blob/master/paper-onboarding.gif\" width=\"480\" height=\"360\" /\u003e\u003c/a\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003ePAPER ONBOARDING\u003c/h1\u003e\u003c/p\u003e\n\n\u003ch4\u003eiOS library Paper Onboarding is a material design UI slider written on Swift.\u003c/h4\u003e\n\n\n___\n\n\n\n\u003cp\u003e\u003ch6\u003eWe specialize in the designing and coding of custom UI for Mobile Apps and Websites.\u003c/h6\u003e\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=paper-onboarding\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ch6\u003eStay tuned for the latest updates:\u003c/h6\u003e\n\u003ca href=\"https://goo.gl/rPFpid\" \u003e\n\u003cimg src=\"https://i.imgur.com/ziSqeSo.png/\" width=\"156\" height=\"28\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch6\u003e\u003ca href=\"https://store.ramotion.com/product/iphone-x-clay-mockups?utm_source=gthb\u0026utm_medium=special\u0026utm_campaign=folding-cell#demo\"\u003eGet Free Mockup For your project →\u003c/a\u003e\u003c/h6\u003e\n\n\u003c/br\u003e\n\n[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)\n[![CocoaPods](https://img.shields.io/cocoapods/p/paper-onboarding.svg)](https://cocoapods.org/pods/paper-onboarding)\n[![CocoaPods](https://img.shields.io/cocoapods/v/paper-onboarding.svg)](http://cocoapods.org/pods/paper-onboarding)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/paper-onboarding)\n[![Travis](https://img.shields.io/travis/Ramotion/paper-onboarding.svg)](https://travis-ci.org/Ramotion/paper-onboarding)\n[![codebeat badge](https://codebeat.co/badges/d06237c6-6ff7-4560-9602-b6cc65063383)](https://codebeat.co/projects/github-com-ramotion-paper-onboarding)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)\n\n## Requirements\n\n- iOS 10.0+\n- Xcode 10.2\n\n## Installation\n\nJust add the Source folder to your project.\n\nor use [CocoaPods](https://cocoapods.org) with Podfile:\n\n``` ruby\npod 'paper-onboarding'\n```\n\nor [Carthage](https://github.com/Carthage/Carthage) users can simply add to their `Cartfile`:\n```\ngithub \"Ramotion/paper-onboarding\"\n```\n\nor [Swift Package Manager](https://swift.org/package-manager/) by adding:\n```\ndependencies: [\n.package(url: \"https://github.com/Ramotion/paper-onboarding.git\", from: \"6.1.4\")\n]\n```\nto `Package.swift`\n\n## Usage\n\n#### Storyboard\n\n1) Create a new UIView inheriting from ```PaperOnboarding```\n\n2) Set dataSource in attribute inspector\n\n#### or Code\n\n``` swift\noverride func viewDidLoad() {\n  super.viewDidLoad()\n\n  let onboarding = PaperOnboarding()\n  onboarding.dataSource = self\n  onboarding.translatesAutoresizingMaskIntoConstraints = false\n  view.addSubview(onboarding)\n\n  // add constraints\n  for attribute: NSLayoutAttribute in [.Left, .Right, .Top, .Bottom] {\n    let constraint = NSLayoutConstraint(item: onboarding,\n                                        attribute: attribute,\n                                        relatedBy: .Equal,\n                                        toItem: view,\n                                        attribute: attribute,\n                                        multiplier: 1,\n                                        constant: 0)\n    view.addConstraint(constraint)\n  }\n}\n```\n\n#### For adding content use dataSource methods:\n\n``` swift\n  func onboardingItem(at index: Int) -\u003e OnboardingItemInfo {\n\n   return [\n     OnboardingItemInfo(informationImage: IMAGE,\n                                   title: \"title\",\n                             description: \"description\",\n                                pageIcon: IMAGE,\n                                   color: UIColor.RANDOM,\n                              titleColor: UIColor.RANDOM,\n                        descriptionColor: UIColor.RANDOM,\n                               titleFont: UIFont.FONT,\n                         descriptionFont: UIFont.FONT),\n\n     OnboardingItemInfo(informationImage: IMAGE,\n                                    title: \"title\",\n                              description: \"description\",\n                                 pageIcon: IMAGE,\n                                    color: UIColor.RANDOM,\n                               titleColor: UIColor.RANDOM,\n                         descriptionColor: UIColor.RANDOM,\n                                titleFont: UIFont.FONT,\n                          descriptionFont: UIFont.FONT),\n\n    OnboardingItemInfo(informationImage: IMAGE,\n                                 title: \"title\",\n                           description: \"description\",\n                              pageIcon: IMAGE,\n                                 color: UIColor.RANDOM,\n                            titleColor: UIColor.RANDOM,\n                      descriptionColor: UIColor.RANDOM,\n                             titleFont: UIFont.FONT,\n                       descriptionFont: UIFont.FONT)\n     ][index]\n }\n\n func onboardingItemsCount() -\u003e Int {\n    return 3\n  }\n\n```\n\n#### configuring content item:\n\n``` swift\nfunc onboardingConfigurationItem(item: OnboardingContentViewItem, index: Int) {\n\n//    item.titleLabel?.backgroundColor = .redColor()\n//    item.descriptionLabel?.backgroundColor = .redColor()\n//    item.imageView = ...\n  }\n```\n\n\n## 🗂 Check this library on other language:\n\u003ca href=\"https://github.com/Ramotion/paper-onboarding-android\"\u003e\n\u003cimg src=\"https://github.com/ramotion/navigation-stack/raw/master/Android_Java@2x.png\" width=\"178\" height=\"81\"\u003e\u003c/a\u003e\n\n\n## 📄 License\n\nPaper Onboarding is released under the MIT license.\nSee [LICENSE](./LICENSE) for details.\n\nThis library is a part of a \u003ca href=\"https://github.com/Ramotion/swift-ui-animation-components-and-libraries\"\u003e\u003cb\u003eselection of our best UI open-source projects.\u003c/b\u003e\u003c/a\u003e\n\nIf you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com\n\n## 📱 Get the Showroom App for iOS to give it a try\nTry this UI component and more like this in our iOS app. Contact us if interested.\n\n\u003ca href=\"https://itunes.apple.com/app/apple-store/id1182360240?pt=550053\u0026ct=paper-onboarding\u0026mt=8\" \u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/app_store@2x.png\" width=\"117\" height=\"34\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=paper-onboarding\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fpaper-onboarding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRamotion%2Fpaper-onboarding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fpaper-onboarding/lists"}