{"id":32313567,"url":"https://github.com/ponysoloud/ap-step-control-view","last_synced_at":"2025-10-23T10:03:45.502Z","repository":{"id":56900952,"uuid":"130921311","full_name":"ponysoloud/ap-step-control-view","owner":"ponysoloud","description":"Nice way to interact with elements stack","archived":false,"fork":false,"pushed_at":"2020-02-02T10:29:27.000Z","size":6827,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-12T12:46:16.882Z","etag":null,"topics":["cocoapod","constraints","control","navigation-controller","stackview","swift-framework","view"],"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/ponysoloud.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":"2018-04-24T22:38:23.000Z","updated_at":"2020-02-02T10:29:29.000Z","dependencies_parsed_at":"2022-08-20T18:10:11.165Z","dependency_job_id":null,"html_url":"https://github.com/ponysoloud/ap-step-control-view","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ponysoloud/ap-step-control-view","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponysoloud%2Fap-step-control-view","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponysoloud%2Fap-step-control-view/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponysoloud%2Fap-step-control-view/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponysoloud%2Fap-step-control-view/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ponysoloud","download_url":"https://codeload.github.com/ponysoloud/ap-step-control-view/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponysoloud%2Fap-step-control-view/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280299518,"owners_count":26306928,"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-10-21T02:00:06.614Z","response_time":58,"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":["cocoapod","constraints","control","navigation-controller","stackview","swift-framework","view"],"created_at":"2025-10-23T10:03:40.435Z","updated_at":"2025-10-23T10:03:40.572Z","avatar_url":"https://github.com/ponysoloud.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# APStepControlView\n\n[![Version](https://img.shields.io/cocoapods/v/APStepControlView.svg?style=flat)](https://cocoapods.org/pods/APStepControlView)\n[![License](https://img.shields.io/cocoapods/l/APStepControlView.svg?style=flat)](https://cocoapods.org/pods/APStepControlView)\n[![Platform](https://img.shields.io/cocoapods/p/APStepControlView.svg?style=flat)](https://cocoapods.org/pods/APStepControlView)\n[![Swift](https://img.shields.io/badge/swift-4.0-lightgrey.svg?style=flat)](https://cocoapods.org/pods/APStepControlView)\n\n`APStepControlView` is beautiful control element that provides to user easy and lovely way to decrease count of elements in list. It may be useful to manipulate with `Navigation controller` hierarchy.\n\n![Illustration](https://github.com/ponysoloud/ap-step-control-view/blob/master/Demonstration.gif?raw=true)\n\n## Requirements\n\n- iOS 10.0+\n- Xcode 9\n\n## Installation\n\nYou can use [CocoaPods](http://cocoapods.org/) to install `APStepControlView` by adding it to your `Podfile`:\n\n```ruby\nplatform :ios, '10.0'\nuse_frameworks!\n\ntarget 'MyApp' do\n    pod 'APStepControlView'\nend\n```\n\n## Usage\n\n#### Initialization\n\n```swift\nimport APStepControlView\n```\n\n`APStepControlView` have one initializer to set initial count of steps.\n\n```swift\nlet stepControlView = APStepControlView(stepsCount: 5)\n```\n\nAlso, `APStepControlView` is a `UIView` and can be initialized like it.\n\n```swift\nlet rect = CGRect(x: 40, y: 200, width: 200, height: 40)\nlet stepControlView = APStepControlView(frame: rect)\n```\n\n#### APStepControlViewDelegate\n\nYou can implement `APStepControlViewDelegate` to be notified about actions with `APStepControlView` and control behaviour\n\n```swift\nclass StepControlViewDelegateImpl: APStepControlViewDelegate {\n  func stepControlView(_ stepControlView: APStepControlView, didChangeStepsCountFrom count: Int, to newCount: Int) {\n    print(\"Number of steps changed from \\(count) to \\(newCount)\")\n  }\n  \n  func stepControlView(_ stepControlView: APStepControlView, shouldPopStepWithIndex index: Int) -\u003e Bool {\n    return index \u003e 0 // In an array, at least one element\n  }\n}\n```\n\n```swift\nlet stepControlViewDelegateImpl = StepControlViewDelegateImpl()\n\nstepControlView.delegate = stepControlViewDelegateImpl\n```\n\n#### Customizing\n\nSteps indicators colors are customizable. It can be set with `ColorStyles` objects for every Indicator type.\n\n![Illustration](https://github.com/ponysoloud/ap-step-control-view/blob/master/ColorStylesIllustration.png?raw=true)\n\n```swift\nstepControl.commonIndicatorColorStyle.circle = .black\nstepControl.peekIndicatorColorStyle.circle = .red\nstepControl.peekIndicatorColorStyle.border = .blue\n```\n\n####  \n\nIf you don't need to take user touch control and want to manipulate it with forced `pow()` and `pop()`, just set `isUserInteractionEnabled = false`.\n\n#### AutoLayout\n\nYou can position and resize view through `frame`, `center` and other properties or use constraints. If you use constraints, you shouldn't strongly fix width. It allows to autoresize view on pushing and poping steps, increase size of view correctly on tap.\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponysoloud%2Fap-step-control-view","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fponysoloud%2Fap-step-control-view","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponysoloud%2Fap-step-control-view/lists"}