diff --git a/README.md b/README.md index ed7829a..56b0b26 100644 --- a/README.md +++ b/README.md @@ -1 +1,82 @@ -COMING SOON \ No newline at end of file +

+ +

+ +## Installation + +Just add `ContextMenu` to your Podfile and `pod install`. Done! + +```ruby +pod 'ContextMenu' +``` + +## Usage + +Show the menu from one of your `UIViewController`s: + +```swift +ContextMenu.shared.show( + sourceViewController: self, + viewController: MyContentViewController() +) +``` + +You must provide a custom `UIViewController` to display in the menu. The only requirement is that you must set `preferredContentSize` to size your content. + +```swift +class MyContentViewController: UIViewController { + override func viewDidLoad() { + super.viewDidLoad() + title = "Demo" + preferredContentSize = CGSize(width: 200, height: 200) + } +} +``` + + + +## Customizations + +### Display from a Source View + +Animate the menu out from a button or view. `ContextMenu` will take care of layout so that your menu doesn't clip the screen. + +``` +@IBAction func onButton(_ sender: UIButton) { + ContextMenu.shared.show( + sourceViewController: self, + viewController: MyContentViewController(), + sourceView: sender + ) +} +``` + +### Container Style & Display + +Use `ContextMenu.Options` to change the appearance of the containing view. + +```swift +ContextMenu.shared.show( + sourceViewController: self, + viewController: MenuViewController(), + options: ContextMenu.Options(containerStyle: ContextMenu.ContainerStyle(backgroundColor: .blue)), + sourceView: button +) +``` + + + +There's plenty more you can customize with `ContextMenu.ContainerStyle`: + +- `cornerRadius`: The corner radius of the menu +- `shadowRadius` and `shadowOpacity`: Appearance of the container shadow +- `xPadding`, `yPadding`, `edgePadding`: Padding from the source view and screen edge +- `overlayColor`: The color of the background +- `motionEffect`: Respond to device gyroscope changes, similar to app icons on Springboard.app. + +If you want more customizations, we will gladly accept a Pull Request! + +## Acknowledgements + +- Heavy inspiration from [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) +- Created with ❤️ by [Ryan Nystrom](https://twitter.com/_ryannystrom) \ No newline at end of file diff --git a/images/animation.gif b/images/animation.gif new file mode 100644 index 0000000..96da992 Binary files /dev/null and b/images/animation.gif differ diff --git a/images/basic.png b/images/basic.png new file mode 100644 index 0000000..a27fec2 Binary files /dev/null and b/images/basic.png differ diff --git a/images/blue.png b/images/blue.png new file mode 100644 index 0000000..003daff Binary files /dev/null and b/images/blue.png differ