Latest 1.1.0
Homepage https://github.com/blackmirror-media/BMPickerModal
License MIT
Platforms ios 8.0, requires ARC
Authors

BMPickerModal is an iOS drop-in class that displays a UIPicker or a
UIDatePicker as modal view or in a popover controller on the iPad. Used
to let the user select from a list of data or pick a date without leaving the
current screen. Closures allow easy customisation.

Requirements

Built in Swift 3 for iOS 8.0+. All devices supported. can be used in both
Swift and in ObjectiveC projects.

You will need Xcode 8 for version 1.1.x and above.

For older projects using Swift 2, use version 1.0.x.

Adding BMPickerModal To Your Project

CocoaPods

CocoaPods is the recommended way to add BMPickerModal to your project.
As BMPickerModal is written in Swift, you need to add the use_frameworks!
option to your podfile.

pod 'BMPickerModal'

Usage

Import the module to your project.

@import BMPickerModal

Creating

var datePickerModal = BMPickerModal()
datePickerModal?.mode = .datePicker

Available modes:

  • .datePicker – Default
  • .picker

Showing On The iPhone

datePickerModal?.show({ (selectedDate) -> Void in
    let theNewDate = selectedDate as! NSDate
    // Do something with the date here
})

Checking whether the control is visible

let visible: Bool = datePickerModal.isVisible

Showing On The iPad

selection: Closure to be executed when date/data is selected
sourceView: View to show from
sourceRect: CGRect to align to
inViewController: ViewController used to present the modal

datePickerModal?.showInPopover({ (selectedDate) -> Void in
    let theNewDate = selectedDate as! NSDate
    // Do something with the date here
}, sourceView: self.view, sourceRect: cell!.frame, inViewController: self)

Checking whether the control is shown in a popover

let inPopover: Bool = datePickerModal.shownInPopover

Dismissing

datePickerModal?.dismiss()

You can add custom actions to the dismissal event by defining the onDismiss
closure.

datePickerModal?.ondismiss()

Customising the DatePicker

Access the UIDatePicker view and cusomise as per the Apple documentation.

datePickerModal?.datePicker.datePickerMode = UIDatePickerMode.date

Customising the Picker

Set the pickerDataSource NSArray property for filling the UIPickerView.

Latest podspec

{
    "name": "BMPickerModal",
    "version": "1.1.0",
    "summary": "BMPickerModal is a control showing a UIPicker or a UIDatePicker in a modal view.",
    "description": "BMPickerModal is an iOS drop-in class that displays a UIPicker or a UIDatePicker as modal view or in a popover controller on the iPad. Used to let the user select from a list of data or pick a date without leaving the current screen. Closures allow easy customisation.",
    "homepage": "https://github.com/blackmirror-media/BMPickerModal",
    "license": "MIT",
    "authors": {
        "Adam Eri": "[email protected]"
    },
    "source": {
        "git": "https://github.com/blackmirror-media/BMPickerModal.git",
        "tag": "1.1.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "requires_arc": true,
    "source_files": "Pod/Classes/**/*",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This