AKPickerView-Swift 1.0.1

AKPickerView-Swift 1.0.1

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jan 2016
SPMSupports SPM

Maintained by Akkyie.



AKPickerView

Screenshot Screenshot

A simple yet customizable horizontal picker view.

The Swift port of AKPickerView.

Works on iOS 7 and 8.

Installation

Manual Install

Add AKPickerView.swift into your Xcode project.

Usage

  1. Instantiate and set delegate and dataSource as you know,

    self.pickerView = AKPickerView(frame: <#frame#>)
    self.pickerView.delegate = self
    self.pickerView.dataSource = self
  2. then specify the number of items using AKPickerViewDataSource,

    func numberOfItemsInPickerView(pickerView: AKPickerView) -> Int {}
  3. and contents to be shown. You can use either texts or images:

    func pickerView(pickerView: AKPickerView, titleForItem item: Int) -> NSString {}
    // OR
    func pickerView(pickerView: AKPickerView, imageForItem item: Int) -> UIImage {}
    • Using both texts and images are currently not supported. When you implement both, titleForItem will be called and the other won’t.
    • You currently cannot specify image sizes; AKPickerView shows the original image in its original size. Resize your images in advance if you need.
  4. You can change its appearance with properties below:

    var font: UIFont
    var highlightedFont: UIFont
    var textColor: UIColor
    var highlightedTextColor: UIColor
    var interitemSpacing: CGFloat
    var viewDepth: CGFloat
    var pickerViewStyle: AKPickerViewStyle
    • All cells are laid out depending on the largest font, so large differnce between the sizes of font and highlightedFont is NOT recommended.
    • viewDepth property affects the perspective distortion. A value near the screen’s height or width is recommended.
  5. After all settings, never forget to reload your picker.

    self.pickerView.reloadData()
  6. Optional: You can use AKPickerViewDelegate methods to observe selection changes:

    func pickerView(pickerView: AKPickerView, didSelectItem item: Int) {}

    Additionally, you can also use UIScrollViewDelegate methods to observe scrolling.

For more detail, see the sample project.

Contact

@akkyie http://twitter.com/akkyie

License

MIT. See LICENSE.