{"id":13696666,"url":"https://github.com/iosphere/ISHHoverBar","last_synced_at":"2025-05-03T17:31:52.461Z","repository":{"id":54146261,"uuid":"63157912","full_name":"iosphere/ISHHoverBar","owner":"iosphere","description":"A floating UIToolBar replacement as seen in the iOS 10 Maps app, supporting both vertical and horizontal orientation.","archived":false,"fork":false,"pushed_at":"2020-04-07T14:40:01.000Z","size":973,"stargazers_count":328,"open_issues_count":6,"forks_count":18,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-07T19:45:49.008Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://iosphere.de","language":"Objective-C","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/iosphere.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2016-07-12T12:57:23.000Z","updated_at":"2024-10-17T02:21:26.000Z","dependencies_parsed_at":"2022-08-13T07:31:30.466Z","dependency_job_id":null,"html_url":"https://github.com/iosphere/ISHHoverBar","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosphere%2FISHHoverBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosphere%2FISHHoverBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosphere%2FISHHoverBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosphere%2FISHHoverBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iosphere","download_url":"https://codeload.github.com/iosphere/ISHHoverBar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224369670,"owners_count":17299938,"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":[],"created_at":"2024-08-02T18:00:44.544Z","updated_at":"2024-11-13T00:30:47.745Z","avatar_url":"https://github.com/iosphere.png","language":"Objective-C","funding_links":[],"categories":["UI Components"],"sub_categories":[],"readme":"# \u003cimg src=\"icon.png\" align=\"center\" width=\"60\" height=\"60\"\u003e ISHHoverBar\n\n[![Travis Build Status](https://travis-ci.org/iosphere/ISHHoverBar.svg?branch=master)](http://travis-ci.org/iosphere/ISHHoverBar)\u0026nbsp;\n[![Version](http://cocoapod-badges.herokuapp.com/v/ISHHoverBar/badge.png)](http://cocoadocs.org/docsets/ISHHoverBar)\u0026nbsp;\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n\n**A floating `UIToolBar` replacement as seen in the iOS 10 Maps app, supporting both vertical and horizontal orientation.**  \n\nIt is designed to hover above your content and it plays nicely with auto layout. Combine \nit with [`ISHPullUp`](https://github.com/iosphere/ISHPullUp) to create a UI resembling the \niOS 10 Maps app.\n\n`ISHHoverBarOrientationVertical` |  `ISHHoverBarOrientationHorizontal`\n:-------------------------:|:-------------------------:\n![Screenshot showing a ISHHoverBar in vertical orientation](screenshot_vertical.png) | ![Screenshot showing a ISHHoverBar in horizontal orientation](screenshot_horizontal.png)\n\nThe content of the bar is set using `UIBarButtonItem`s, just as you would configure a `UIToolBar`. \nThe bar is backed by a `UIVisualEffectsView` allowing you to choose from several styles. \nYou can customize most aspects of the view via *Interface Builder*.\n\n## Basic usage\n\n### Setting the bar's contents\n\n`ISHHoverBar` is populated similarly to a `UIToolbar` using instances of \n`UIBarButtonItem`. The content can be changed at any time by setting the `items` property.\nThe layout and `intrinsicContentSize` will automatically be updated.\n\nA few limitation apply: `ISHHoverBar` only supports instances of `UIBarButtonItem` that \nhave a `title`, `image`, or `customView` (subclass of `UIControl`). Most importantly, \n`UIBarButtonItem` instances created using a `UIBarButtonSystemItem` are not supported as \naccess to the underlying content is restricted to private APIs.\n\n### Appearance and orientation\n\n`ISHHoverBar` supports vertical and horizontal layouts. The orientation can be changed \nat any time by setting the `orientation` property (default is vertical). Use auto layout \nto position the bar in your view hierarchy.\n\nThe following aspects of `ISHHoverBar` can be changed via code or *Interface Builder*:\n\n* Shadow: \n  * `shadowColor`\n  * `shadowOpacity`\n  * `shadowRadius`\n* Corner radius: `cornerRadius`\n* Border (also applied to separators between items):\n  * `borderWidth`\n  * `borderColor`\n* Background visual effect: `effect`\n  \n## General info\n\n`ISHHoverBar` is written in **Objective-C** to allow easy integration into any iOS project \nand has fully documented headers. It is annotated for easy integration into \n*Swift* code bases.\n\nThe `ISHHoverBar` class and sample app have a **Deployment Target** of **iOS 8**.\n\n## Integration into your project\n\n### Dynamically-linked framework\n\nAdd the project file `ISHHoverBar.xcodeproj` as a subproject of your app. \nThen add the framework `ISHHoverBar.framework` to the app's embedded binaries \n(on the *General* tab of your app target's settings). On the *Build Phases* tab, \nverify that the framework has also been added to the *Link Binary with\nLibraries* phase, and that an *Embed Frameworks* phase has been created (unless\nit existed before).\n\nThe framework can be used as a module, so you can use `@import ISHHoverBar;`\n(Objective-C) and `import ISHHoverBar` (Swift) to import all public headers. \n\nFurther reading on Modules: \n[Clang Documentation](http://clang.llvm.org/docs/Modules.html)\n\n### Include files directly\n\nCurrently the project relies on a single implementation file and its header. \nYou can include them directly into your project:\n\n* `ISHHoverBar/ISHHoverBar.`{`h`/`m`}\n\n### CocoaPods\n\nYou can use CocoaPods to install `ISHHoverBar` as a static library. Add this\nto your Podfile:\n\n```ruby\ntarget 'MyApp' do\n  pod 'ISHHoverBar'\nend\n```\n\n`ISHHoverBar` can also be installed as a framework:\n\n```ruby\ntarget 'MyApp' do\n  use_frameworks!\n  pod 'ISHHoverBar'\nend\n```\n\nSee the [official website](https://cocoapods.org/#get_started) to get started with\nCocoaPods.\n\n### Carthage\n\nSince `ISHHoverBar` can be built as a framework, it supports Carthage, too. Add\nthis to your Cartfile:\n\n```\ngithub iosphere/ISHHoverBar\n```\n\nSee the [Carthage repository](https://github.com/Carthage/Carthage) to get started\nwith Carthage.\n\n## More OpenSource projects by iosphere\n\n\u003cimg src=\"https://raw.githubusercontent.com/iosphere/ISHPermissionKit/master/icon.png\" align=\"center\" width=\"40\" height=\"40\"\u003e [`ISHPermissionKit`](https://github.com/iosphere/ISHPermissionKit) - A polite and unified way of asking for permission on iOS\n\n\u003cimg src=\"https://raw.githubusercontent.com/iosphere/ISHPullUp/master/icon.png\" align=\"center\" width=\"40\" height=\"40\"\u003e [`ISHPullUp`](https://github.com/iosphere/ISHPullUp) - Vertical split view controller with pull up gesture as seen in the iOS 10 Maps app\n\n## TODO\n\n* [ ] Allow changing the orientation with an animation\n* [ ] Allow changing the items with an animation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiosphere%2FISHHoverBar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiosphere%2FISHHoverBar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiosphere%2FISHHoverBar/lists"}