Skip to content

HackPlan/Popover

 
 

Repository files navigation

Popover

CI Status Version License Platform

Description and appetize.io`s DEMO

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Simple

let startPoint = CGPoint(x: self.view.frame.width - 60, y: 55)
let aView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 180))
let popover = Popover()
popover.show(aView, point: startPoint)

Custom

@IBOutlet weak var leftBottomButton: UIButton!

let width = self.view.frame.width / 4
let aView = UIView(frame: CGRect(x: 0, y: 0, width: width, height: width))
let options = [
  .Type(.Up),
  .CornerRadius(width / 2),
  .AnimationIn(0.3),
  .BlackOverlayColor(UIColor.redColor()),
  .ArrowSize(CGSizeZero)
  ] as [PopoverOption]
let popover = Popover(options: options, showHandler: nil, dismissHandler: nil)
popover.show(aView, fromView: self.leftBottomButton)

Requirements

  • iOS 8.0+
  • swift 3.0

If you use Swift 2.2 or 2.3, try Popover 0.9.1.

Installation

CocoaPods(iOS 8+)

Popover is available through CocoaPods. To install it, simply add the following line to your Podfile:

use_frameworks!
pod "Popover"

Carthage (iOS 8+)

You can use Carthage to install Popover by adding it to your Cartfile:

github "corin8823/Popover"

Manual Installation

The class file required for Popover is located in the Classes folder in the root of this repository as listed below:

Popover.swift

Customization

Enum

  • case ArrowSize(CGSize)
  • case AnimationIn(NSTimeInterval)
  • case AnimationOut(NSTimeInterval)
  • case CornerRadius(CGFloat)
  • case SideEdge(CGFloat)
  • case BlackOverlayColor(UIColor)
  • case OverlayBlur(UIBlurEffectStyle)
  • case Type(Popover.PopoverType)
  • case Color(UIColor)

Property

  • arrowSize: CGSize = CGSize(width: 16.0, height: 10.0)
  • animationIn: NSTimeInterval = 0.6
  • animationOut: NSTimeInterval = 0.3
  • cornerRadius: CGFloat = 6.0
  • sideEdge: CGFloat = 20.0
  • popoverType: PopoverType = .Down
  • blackOverlayColor: UIColor = UIColor(white: 0.0, alpha: 0.2)
  • overlayBlur: UIBlurEffect?
  • popoverColor: UIColor = UIColor.whiteColor()

Acknowledgments

Inspired by DXPopover in xiekw2010

License

Popover is available under the MIT license. See the LICENSE file for more info.

About

Popover is a balloon library like Facebook app. It is written in pure swift.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 74.5%
  • Objective-C 21.2%
  • Ruby 4.3%