{"id":19409905,"url":"https://github.com/horitaku46/silentscrolly","last_synced_at":"2025-04-24T10:32:14.093Z","repository":{"id":62455420,"uuid":"122150872","full_name":"horitaku46/SilentScrolly","owner":"horitaku46","description":"Scroll to hide navigationBar, tabBar and toolBar.","archived":false,"fork":false,"pushed_at":"2018-05-14T04:09:03.000Z","size":64,"stargazers_count":85,"open_issues_count":3,"forks_count":9,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-31T16:24:20.117Z","etag":null,"topics":["carthage","cocoapods","hide","swift","swift4","uinavigationbar","uiscrollview","uitabbar","uitoolbar"],"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/horitaku46.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-02-20T03:27:13.000Z","updated_at":"2024-07-19T07:24:20.000Z","dependencies_parsed_at":"2022-11-01T22:32:46.115Z","dependency_job_id":null,"html_url":"https://github.com/horitaku46/SilentScrolly","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horitaku46%2FSilentScrolly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horitaku46%2FSilentScrolly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horitaku46%2FSilentScrolly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horitaku46%2FSilentScrolly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/horitaku46","download_url":"https://codeload.github.com/horitaku46/SilentScrolly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223948460,"owners_count":17230132,"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":["carthage","cocoapods","hide","swift","swift4","uinavigationbar","uiscrollview","uitabbar","uitoolbar"],"created_at":"2024-11-10T12:13:59.664Z","updated_at":"2024-11-10T12:14:00.415Z","avatar_url":"https://github.com/horitaku46.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/horitaku46/Assets/blob/master/SilentScrolly/banner.png\" align=\"center\" width=\"600\"\u003e\n\u003c/p\u003e\n\n[![Platform](http://img.shields.io/badge/platform-iOS-blue.svg?style=flat)](https://developer.apple.com/iphone/index.action)\n![Swift](https://img.shields.io/badge/Swift-4.0-orange.svg)\n[![Cocoapods](https://img.shields.io/badge/Cocoapods-compatible-brightgreen.svg)](https://img.shields.io/badge/Cocoapods-compatible-brightgreen.svg)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-Compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](http://mit-license.org)\n\n## Overview\nScroll to hide navigationBar, tabBar and toolBar.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/horitaku46/Assets/blob/master/SilentScrolly/normal.gif\" width=\"300\"\u003e\n\u003c/p\u003e\n\n## Features\nAdding too much `UIGestureRecognizer` to the `UIView` makes handling difficult, so it was handled by `UIScrollViewDelegate`.\n\n## Translation\nMr. [Gargo](https://github.com/Gargo) translated [this README into Russian](http://gargo.of.by/silentscrolly/)!🙇‍♂️\n\n## Requirements\n- Xcode 9.0+\n- iOS 10+\n- Swift 4.0+\n\n## Installation\n### CocoaPods\n```ruby\npod 'SilentScrolly'\n```\n### Carthage\n```ruby\ngithub \"horitaku46/SilentScrolly\"\n```\n## Usage\n**See [Example](https://github.com/horitaku46/SilentScrolly/tree/master/Example), for more details.**\n\n**《１》** If you want to change the color of the statusBar, add `func statusBarStyle(showStyle: UIStatusBarStyle, hideStyle: UIStatusBarStyle)` to the `UINavigationController`.\n\n```swift\nimport UIKit\n\nfinal class NavigationController: UINavigationController {\n\n    override var preferredStatusBarStyle: UIStatusBarStyle {\n        return topViewController?.preferredStatusBarStyle ?? .default\n    }\n}\n```\n\n**《２》** Please describe accordingly as below.\n\n\n```swift\nimport UIKit\n\nfinal class TableViewController: UIViewController, SilentScrollable {\n\n    override var preferredStatusBarStyle: UIStatusBarStyle {\n        return statusBarStyle(showStyle: .lightContent, hideStyle: .default) // Optional\n    }\n\n    @IBOutlet weak var tableView: UITableView! {\n        didSet {\n            tableView.register(UITableViewCell.self, forCellReuseIdentifier: \"Cell\")\n            tableView.delegate = self\n            tableView.dataSource = self\n        }\n    }\n\n    var silentScrolly: SilentScrolly?\n\n    override func viewDidLayoutSubviews() {\n        super.viewDidLayoutSubviews()\n        silentDidLayoutSubviews()\n    }\n\n    override func viewDidAppear(_ animated: Bool) {\n        super.viewDidAppear(animated)\n        configureSilentScrolly(tableView, followBottomView: tabBarController?.tabBar)\n    }\n\n    override func viewWillDisappear(_ animated: Bool) {\n        super.viewWillDisappear(animated)\n        silentWillDisappear()\n    }\n\n    override func viewDidDisappear(_ animated: Bool) {\n        super.viewDidDisappear(animated)\n        silentDidDisappear()\n    }\n\n    override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {\n        super.viewWillTransition(to: size, with: coordinator)\n        silentWillTranstion()\n    }\n}\n\nextension TableViewController: UITableViewDelegate {\n\n    func scrollViewDidScroll(_ scrollView: UIScrollView) {\n        silentDidScroll()\n    }\n\n    func scrollViewDidZoom(_ scrollView: UIScrollView) {\n        silentDidZoom() // Optional\n    }\n\n    func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -\u003e Bool {\n        showNavigationBar() // Optional\n        return true\n    }\n}\n\nextension TableViewController: UITableViewDataSource {\n\n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -\u003e Int {\n        return 100\n    }\n\n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -\u003e UITableViewCell {\n        let cell = tableView.dequeueReusableCell(withIdentifier: \"Cell\", for: indexPath)\n        cell.textLabel?.text = \"Row: \\(indexPath.row)\"\n        return cell\n    }\n}\n```\n\n## Author\n### Takuma Horiuchi\n- [Facebook](https://www.facebook.com/profile.php?id=100008388074028)\n- [Twitter](https://twitter.com/horitaku_)\n- [GitHub](https://github.com/horitaku46)\n\n## License\n`SilentScrolly` is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoritaku46%2Fsilentscrolly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoritaku46%2Fsilentscrolly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoritaku46%2Fsilentscrolly/lists"}