{"id":26600391,"url":"https://github.com/quanghoang0101/hpfloatmenu","last_synced_at":"2025-04-09T16:06:54.072Z","repository":{"id":56913742,"uuid":"182800460","full_name":"quanghoang0101/HPFloatMenu","owner":"quanghoang0101","description":"A library for floating menu, user can easy custom the menu with icons and text.","archived":false,"fork":false,"pushed_at":"2019-06-06T16:20:03.000Z","size":1230,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T16:06:46.337Z","etag":null,"topics":["custom-menus","float","float-menu","floating","floating-action-button","floatingmenu","ios","ios-swift","ios-uiview","menu","menu-ios","swift"],"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/quanghoang0101.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":"2019-04-22T14:05:53.000Z","updated_at":"2023-01-06T16:07:42.000Z","dependencies_parsed_at":"2022-08-20T20:50:30.794Z","dependency_job_id":null,"html_url":"https://github.com/quanghoang0101/HPFloatMenu","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quanghoang0101%2FHPFloatMenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quanghoang0101%2FHPFloatMenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quanghoang0101%2FHPFloatMenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quanghoang0101%2FHPFloatMenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quanghoang0101","download_url":"https://codeload.github.com/quanghoang0101/HPFloatMenu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065286,"owners_count":21041871,"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":["custom-menus","float","float-menu","floating","floating-action-button","floatingmenu","ios","ios-swift","ios-uiview","menu","menu-ios","swift"],"created_at":"2025-03-23T18:18:37.735Z","updated_at":"2025-04-09T16:06:54.040Z","avatar_url":"https://github.com/quanghoang0101.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HPFloatMenu\n\n[![Platform](http://img.shields.io/badge/platform-iOS-blue.svg?style=flat\n)](https://developer.apple.com/iphone/index.action)\n[![Language](http://img.shields.io/badge/language-Swift-brightgreen.svg?style=flat\n)](https://developer.apple.com/swift)\n[![Version](https://img.shields.io/cocoapods/v/HPFloatMenu.svg?style=flat)](https://cocoapods.org/pods/HPFloatMenu)\n[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat\n)](http://mit-license.org)\n[![Issues](https://img.shields.io/github/issues/quanghoang0101/HPFloatMenu.svg?style=flat\n)](https://github.com/quanghoang0101/HPFloatMenu/issues?state=open)\n![Build](https://travis-ci.com/quanghoang0101/HPFloatMenu.svg?branch=master)\n[![codecov](https://codecov.io/gh/quanghoang0101/HPFloatMenu/branch/master/graph/badge.svg)](https://codecov.io/gh/quanghoang0101/HPFloatMenu)\n\nHPFloatMenu with cool animation for your iOS app, easy setup and use!\n\n![sample](https://media.giphy.com/media/MDyXlMUYGJT7qHo5pF/giphy.gif)\n\n# Installation\n#### CocoaPods\n```\npod 'HPFloatMenu'\n```\n#### Manually\nCopy the `HPFloatMenu` folder to your project.\n\n## Customization\n\n### HPFloatMenuView Customizable\n* speed of animation\n```Swift\nvar animationSpeed: Double = 0.1\n```\n* space of each item in the menu\n```Swift\nvar spacingItem: CGFloat = 15.0\n```\n* position of the menu\n```Swift\nvar position: MenuPosition = .bottomLeft\n```\n* overlay color\n```Swift\nvar colorOverlay: UIColor = UIColor(white: 0, alpha: 0.5)\n```\n* radial gradient color\n```Swift\nvar radialGradientColors: [UIColor]\n```\n### FloatMenuItem Customizable\n* configation for item\n```Swift\npublic struct ItemConfigation {\n    \n    public var colorTitle: UIColor!\n    public var colorIcon: UIColor!\n    public var fontTitle: UIFont!\n    public var iconSize: CGFloat!\n}\n```\n* init item with title and icon\n```Swift\ninit(with title: String, icon: UIImage)\n```\n\n* init item with title, icon and custom configation\n```Swift\ninit(with title: String, icon: UIImage, config: ItemConfigation)\n```\n\n* init item with title and configation\n```Swift\ninit(with title: String, config: ItemConfigation) \n```\n### Monitor the states of menu, you can use `FloatMenuDelegate` use this:\n```swift\nfunc floatMenuDidOpen(_ menu: FloatMenuView)\nfunc floatMenuDidClose(_ menu: FloatMenuView)\nfunc floatMenuDidSelectItem(_ menu: FloatMenuView, at index: Int)\n```\n\n## Usage\n\n### Setup\nAdd `import HPFloatMenu` in your file\n\n```Swift\nlazy var floatMenuView: FloatMenuView = {\n    let view = FloatMenuView(frame: .zero)\n    view.delegate = self\n    return view\n}()\n\nfunc setDefaultItems() {\n   let group = FloatMenuItem(with: \"Group\", config: ItemConfigation(colorIcon: UIColor(hexString: \"#CFCFCF\")!))\n   self.floatMenuView.addItem(group)\n\n   let watch = FloatMenuItem(with: \"Watch\", config: ItemConfigation(colorIcon: UIColor(hexString: \"#969696\")!))\n   self.floatMenuView.addItem(watch)\n\n   let settings = FloatMenuItem(with: \"Settings\", config: ItemConfigation(colorIcon: UIColor(hexString: \"#6D6C6C\")!))\n   self.floatMenuView.addItem(settings)\n}\n\noverride func viewDidLoad() {\n   super.viewDidLoad()\n   self.setDefaultItems()\n   self.floatMenuView.radialGradientColors = [UIColor(hexString: \"#2E2E2E\")!.withAlphaComponent(0.9), UIColor(hexString: \"#383838\")!]\n}\n\n@objc private func showMenu(_ sender: Any) {\n   self.floatMenuView.showMenu(at: sender as! UIButton)\n}\n\nextension ViewController: FloatMenuDelegate {\n    func floatMenuDidOpen(_ menu: FloatMenuView) {\n        print(\"FLoat menu did open\\n\")\n    }\n\n    func floatMenuDidClose(_ menu: FloatMenuView) {\n        print(\"Float menu did close\\n\")\n    }\n\n    func floatMenuDidSelectItem(_ menu: FloatMenuView, at index: Int) {\n        print(\"Did select item at index \\(index)\\n\")\n        menu.dimissItems()\n    }\n}\n```\n## Requirements\nSwift 5.0\n\niOS 9.0+\n\n## Contributing\nForks, patches and other feedback are welcome.\n\n## Creator\n### HPFloatMenu\n[Quang Hoang](https://github.com/quanghoang0101) \n\n[Blog](https://medium.com/@phanquanghoang)\n\n## License\nHPFloatMenu 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%2Fquanghoang0101%2Fhpfloatmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquanghoang0101%2Fhpfloatmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquanghoang0101%2Fhpfloatmenu/lists"}