{"id":30420674,"url":"https://github.com/macabeus/inputstepbystep","last_synced_at":"2025-08-22T08:19:51.843Z","repository":{"id":56915544,"uuid":"90136431","full_name":"macabeus/InputStepByStep","owner":"macabeus","description":"📝 A input view for tvOS, useful for testing purposes.","archived":false,"fork":false,"pushed_at":"2017-05-18T12:45:25.000Z","size":55,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-30T08:02:02.586Z","etag":null,"topics":["cocoapods","tvos","uicollectionview"],"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/macabeus.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":"2017-05-03T10:20:15.000Z","updated_at":"2018-07-01T22:06:21.000Z","dependencies_parsed_at":"2022-08-21T03:20:43.129Z","dependency_job_id":null,"html_url":"https://github.com/macabeus/InputStepByStep","commit_stats":null,"previous_names":["brunomacabeusbr/inputstepbystep"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/macabeus/InputStepByStep","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FInputStepByStep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FInputStepByStep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FInputStepByStep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FInputStepByStep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macabeus","download_url":"https://codeload.github.com/macabeus/InputStepByStep/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macabeus%2FInputStepByStep/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271606604,"owners_count":24788981,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cocoapods","tvos","uicollectionview"],"created_at":"2025-08-22T08:19:50.952Z","updated_at":"2025-08-22T08:19:51.836Z","avatar_url":"https://github.com/macabeus.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Version](https://img.shields.io/cocoapods/v/InputStepByStep.svg?style=flat)](http://cocoapods.org/pods/InputStepByStep)\n[![License](https://img.shields.io/cocoapods/l/InputStepByStep.svg?style=flat)](http://cocoapods.org/pods/InputStepByStep)\n[![Platform](https://img.shields.io/cocoapods/p/InputStepByStep.svg?style=flat)](http://cocoapods.org/pods/InputStepByStep)\n\n# InputStepByStep\n📝 A input view for tvOS, useful for testing purposes.\n\n*\"Hey, but it is horrible to enter input in AppleTV!\"*\u003cbr\u003e\nYes, I know, but in some cases it is useful for testing, when you are using simulator or testing in physical device with iPhone.\n\n![](http://i.imgur.com/wKI9jI8.png)\n\nYou can download this repository and see this example app.\n\n# How to use\n\n## Install\nIn `Podfile` add\n```\npod 'InputStepByStep'\n```\n\nand use `pod install`.\n\n## Setup\n\n### Storyboard\n![](http://i.imgur.com/N5djsPz.png)\n\n1. Create a *Container View*\n2. Change the *View Controller* for  *Collection View Controller*\n3. Set `InputStepByStep` as a custom class\n\n### Set fields\n\nYour controller that will manager a `InputStepByStep` need subscriber the protocol `InputStepByStepProtocol`\n\nMinimal example:\n\n```swift\nclass ViewController: UIViewController, InputStepByStepProtocol {\n    \n    @IBOutlet weak var container: UIView!\n    var containerStepByStep: InputStepByStep?\n        \n    var configList: [CellCreateGrid] = [ // set the inputs\n        .name(\"Login\"),\n        .input(name: \"user\", label: \"User\"),\n        .input(name: \"password\", label: \"Password\"),\n        .input(name: \"email\", label: \"E-Mail\"),\n        \n        .name(\"Personal infos\"),\n        .input(name: \"firtname\", label: \"Your first name\"),\n        .input(name: \"lastname\", label: \"Your last name\"),\n        \n        .finish() // you need set the \".finish\" at the end of \"configList\"\n    ]\n    \n    func cellFinishAction(inputValues: [String: [String: String]]) { // when the user click in green button\n        if let user = inputValues[\"Login\"]?[\"user\"],\n            let password = inputValues[\"Login\"]?[\"password\"],\n            let email = inputValues[\"Login\"]?[\"email\"] {\n            \n            print(\"create account with login \\(user), password \\(password) and email \\(email)\")\n        }\n    }\n    \n    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {\n        \n        if segue.identifier == \"segueInputStepyBtStep\" {\n            self.containerStepByStep = (segue.destination as! InputStepByStep)\n            self.containerStepByStep!.delegate = self // set a delegate where\n        }\n    }\n}\n```\n\nThe `configList` is a list of inputs that `InputStepByStep` will show.\u003cbr\u003e\nYou use `.name(String)` to create a division and `.input(name: String, label: String` to create a input. And, at the end, you need add `.finish()` to create a green button.\n\nThe function `cellFinishAction(inputValues:)` is called when the green button is clicked.\u003cbr\u003e\nThe parameters in `inputValues` is a dictionary with key as the name of division (\"Login\" or \"Personal infos\" in example) and value is another dictionary, with key as the name of input (\"email\", for example) and the value is the value setted by user.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacabeus%2Finputstepbystep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacabeus%2Finputstepbystep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacabeus%2Finputstepbystep/lists"}