Skip to content
This repository has been archived by the owner. It is now read-only.
A simple yet customizable horizontal picker view.
Branch: master
Clone or download
akkyie Merge pull request #67 from Akkyie/swift3_0_1
Change project settings to Swift 3.0.1
Latest commit 1ee8c73 Oct 29, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
AKPickerView Convert AKPickerView to Swift 3.0 Oct 29, 2016
.gitignore Initial commit Jan 29, 2015
AKPickerView-Swift.podspec Update podspec Oct 29, 2016
LICENSE Initial commit Jan 29, 2015 Added CocoaPods and Carthage support Feb 10, 2015
Screenshot.gif Updated README Jan 29, 2015
Screenshot2.gif Updated README Jan 29, 2015




A simple yet customizable horizontal picker view.

The Swift port of AKPickerView.

Works on iOS 7 and 8.


###CocoaPods: In your Podfile:

pod "AKPickerView-Swift"

And in your *.swift:

import AKPickerView_Swift

###Carthage: In your Cartfile:

github "Akkyie/AKPickerView-Swift"

And in your *.swift:

import AKPickerView

###Manual Install Add AKPickerView.swift into your Xcode project.


  1. Instantiate and set delegate and dataSource as you know,
self.pickerView = AKPickerView(frame: <#frame#>)
self.pickerView.delegate = self
self.pickerView.dataSource = self
  1. then specify the number of items using AKPickerViewDataSource,
func numberOfItemsInPickerView(pickerView: AKPickerView) -> Int {}
  1. 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.
  1. 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.
  1. After all settings, never forget to reload your picker.
  1. 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.





You can’t perform that action at this time.