简单但可定制的水平选择器视图
AKPickerView
简单但可自定义的水平选取器视图。
AKPickerView 的 Swift 移植。
适用于 iOS 7 和 8。
安装
###可可豆荚:
在您的 :Podfile
pod "AKPickerView-Swift"
在您的:*.swift
import AKPickerView_Swift
###Carthage:
In your :Cartfile
github "Akkyie/AKPickerView-Swift"
And in your :*.swift
import AKPickerView
###Manual Install
Add into your Xcode project.AKPickerView.swift
Usage
- Instantiate and set and as you know,
delegate
dataSource
self.pickerView = AKPickerView(frame: <#frame#>)
self.pickerView.delegate = self
self.pickerView.dataSource = self
- then specify the number of items using ,
AKPickerViewDataSource
func numberOfItemsInPickerView(pickerView: AKPickerView) -> Int {}
- 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, will be called and the other won’t.
titleForItem
- You currently cannot specify image sizes; AKPickerView shows the original image in its original size. Resize your images in advance if you need.
- 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.
- After all settings, never forget to reload your picker.
self.pickerView.reloadData()
- Optional: You can use methods to observe selection changes:
AKPickerViewDelegate
func pickerView(pickerView: AKPickerView, didSelectItem item: Int) {}
Additionally, you can also use methods to observe scrolling.UIScrollViewDelegate
For more detail, see the sample project.
Contact
@akkyie http://twitter.com/akkyie
License
MIT. See LICENSE.