{"id":32479262,"url":"https://github.com/fbernaly/hamburgermenu","last_synced_at":"2025-10-27T00:56:12.702Z","repository":{"id":69140622,"uuid":"39423329","full_name":"fbernaly/HamburgerMenu","owner":"fbernaly","description":null,"archived":false,"fork":false,"pushed_at":"2015-07-22T21:43:15.000Z","size":12036,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-20T15:26:24.812Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/fbernaly.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":"2015-07-21T04:10:05.000Z","updated_at":"2024-04-20T15:26:24.813Z","dependencies_parsed_at":"2023-02-27T18:00:49.639Z","dependency_job_id":null,"html_url":"https://github.com/fbernaly/HamburgerMenu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fbernaly/HamburgerMenu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbernaly%2FHamburgerMenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbernaly%2FHamburgerMenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbernaly%2FHamburgerMenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbernaly%2FHamburgerMenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbernaly","download_url":"https://codeload.github.com/fbernaly/HamburgerMenu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbernaly%2FHamburgerMenu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281196994,"owners_count":26459680,"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-26T02:00:06.575Z","response_time":61,"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":[],"created_at":"2025-10-27T00:56:11.698Z","updated_at":"2025-10-27T00:56:12.698Z","avatar_url":"https://github.com/fbernaly.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hamburger Menu\n\n`HMMenuViewController` is a fun, interactive, easy-to-use, customizable slide menu. As easy as instantiate, set images and titles, set delegate, call show method and ENJOY!!!\n\n### Features\n\n* Partial or full screen menu\n* Translucent (blur effect) background\n* Enable/disable scale background effect \n* Enable/disable slide animation\n* Enable/disable cell animation\n* Enable/disable tap animation\n* Enable/disable closing menu after rotating device\n* Hiding close button when scrolling tableview up\n\n### Screenshoots\n\n![Portrait](HMPortrait.gif)\n\n![Landscape](HMLandscape.gif)\n\n### Usage\n\n##### Instantiate HMMenuViewController NOT using Storyboard. \n\nIn this case `HMMenuViewController` will handle the subview frames inside the viewcontroller. Subview frames will be updated when rotating device. Just instantiate using custom initializer:\n\n```swift\nlet menuViewController = HMMenuViewController(images:manager.images!, titles:manager.titles!, closeImageButton:manager.closeMenuButtonImage!)\n```\n\n##### Instantiate HMMenuViewController using Storyboard\n\nIn this case just make sure to connect `@IBOutlet` before instantiating, and use AutoLayout:\n\n```swift\n@IBOutlet var tableView: UITableView!\n@IBOutlet var closeButton: UIButton!\n@IBOutlet var containerView: UIView! // contains tableView and closeButton, added as a subView of self.view\n@IBOutlet var blurEffectView: UIVisualEffectView! //used to add background blur effect\n@IBOutlet var containerViewWidthConstraint: NSLayoutConstraint! // used to animate containerView sliding\n@IBOutlet var closeButtonTopSpaceConstraint: NSLayoutConstraint! // used to animate hiding closeButton when scrolling tableView up\n```\n\nInstantiate `HMMenuViewController` as follow:\n\n```swift\nlet menuViewController = UIStoryboard(name:\"Main\", bundle: nil).instantiateViewControllerWithIdentifier(\"MenuController\") as! HMMenuViewController\nmenuViewController.images = manager.images\nmenuViewController.titles = manager.titles\nmenuViewController.closeImageButton = manager.closeMenuButtonImage\n```\n\n##### HMMenuViewControllerDelegate\n\nThe `UIViewController` showing `HMMenuViewController` instance MUST conform to protocol `HMMenuViewControllerDelegate` and implement required method:\n\n```swift\n// required protocol method\n// This method will tell the delegate when an item from the menu is selected.\nfunc menuViewController (menuViewController:HMMenuViewController, didSelectItemAtIndexPath indexPath:NSIndexPath) {\n    if indexPath.row \u003c HMViewControllerManager.sharedInstance.viewControllers?.count {\n        if let viewController = HMViewControllerManager.sharedInstance.viewControllers?.objectAtIndex(indexPath.row) as? UIViewController {\n            navigationController?.viewControllers = [viewController]\n        }\n    }\n}\n```\n\n##### Showing HMMenuViewController\n\nThe `UIViewController` showing `HMMenuViewController` instance MUST be embedded in a `UINavigationController`\n\n```swift\nnavigationItem.leftBarButtonItem = UIBarButtonItem(image:hamburgerMenuButtonImage, style:.Plain, target:self, action:\"showMenuViewController\")\n```\n\nTo show `HMMenuViewController` instance set delegate and call `showMenuFromController(:)` method\n\n```swift\nfunc showMenuViewController () {\n    menuController.delegate = self\n    menuController.showMenuFromController(self)\n}\n```\n\n### Version\n\n1.0.0\n\n### License\n\n`HamburgerMenu` is released under the MIT license.\n\n### Author\n\nFrancisco Bernal Yescas ([@fbernaly](http://twitter.com/fbernaly))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbernaly%2Fhamburgermenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbernaly%2Fhamburgermenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbernaly%2Fhamburgermenu/lists"}