# TTADataPickerView **Repository Path**: coderiding/TTADataPickerView ## Basic Information - **Project Name**: TTADataPickerView - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TTADataPickerView [![license MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/TMTBO/TTADataPickerView/blob/master/LICENSE) [![CocoaPods](http://img.shields.io/cocoapods/v/TTADataPickerView.svg?style=flat)](https://cocoapods.org/pods/TTADataPickerView) [![CocoaPods](http://img.shields.io/cocoapods/p/TTADataPickerView.svg?style=flat)](https://cocoapods.org/pods/TTADataPickerView) [![Build Status](https://travis-ci.org/TMTBO/TTADataPickerView.svg?branch=master)](https://travis-ci.org/TMTBO/TTADataPickerView) [![codecov](https://codecov.io/gh/TMTBO/TTADataPickerView/branch/master/graph/badge.svg)](https://codecov.io/gh/TMTBO/TTADataPickerView) A Swift picker view allows you to pick the titles you want and the date, time or dateTime in one view # ScreenShort & gif ![TTADataPickerView](https://github.com/TMTBO/TTADataPickerView/blob/master/TTADataPickerView.gif) # Installation TTADataPickerView is avaibale on CocoaPods. * 1 Insatll with CocoaPods: ``` target 'MyApp' do pod 'TTADataPickerView' end ``` >Then run a `pod install` inside you terminal * 2 Manually > Clone the code from the github: `git clone https://github.com/TMTBO/TTADataPickerView.git` >Then drop the TTADataPickerView folder to your project `import TTADataPickerView` # Features * 1 Pick Data and date in one PickerView: >You do not need to write UIDatePicker and UIPickerView * 2 Configurable apperance: >You can configure the PickerView's apperance as you want # Usage * 1 Initializer, you can configure the type and title ``` let pickerView = TTADataPickerView(title: "TTADataPickerView", type: .text) ``` * 2 Configure pickerView type with this property ``` pickerView.type = .text ``` > Some Other type ``` /// The component type of the TTADataPickerView public enum TTADataPickerViewType { /// pickerView default case text /// datePicker case date /// date and time case dateTime /// time case time } ``` * 3 Configure the delegate ``` // You need to confirm `TTADataPickerViewDelegate` pickerView.delegate = self ``` * 4 When the pickerView type is .text, configure this property to tell the pickerView what you want to select ``` pickerView.textItemsForComponent = [["First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth", "Ninth", "Tenth"], ["First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth", "Ninth", "Tenth"], ["First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth", "Ninth", "Tenth"]] ``` * 5 Show the PickerView ``` pickerView.show() or pickerView.show { // something you want to do after show the pickerView } ``` * 6 Set the selectedTitles or selectedDate when the pickerView appers ``` pickerView.selectedTitles(titles) pickerView.selectedDate(date) ``` * 7 Configure the TTADataPickerView's apperance ``` // config the TTADataPickerView's apperance let apperance = TTADataPickerView.appearance() apperance.setConfirmButtonAttributes(att: [NSForegroundColorAttributeName: UIColor.red]) pperance.setCancelButtonAttributes(att: [NSForegroundColorAttributeName: UIColor.blue]) apperance.setToolBarTintColor(color: .yellow) apperance.setToolBarBarTintColor(color: .orange) apperance.setTitleFont(font: UIFont.systemFont(ofSize: 20)) apperance.setTitleColor(color: .cyan) ``` * 8 Delegate Functions ``` // MARK: - TTADataPickerViewDelegate extension ViewController: TTADataPickerViewDelegate { // when the pickerView type is `.text`, you clicked the done button, you will get the titles you selected just now from the `titles` parameter func dataPickerView(_ pickerView: TTADataPickerView, didSelectTitles titles: [String]) { showLabel.text = titles.joined(separator: " ") } // when the pickerView type is NOT `.text`, you clicked the done button, you will get the date you selected just now from the `date` parameters func dataPickerView(_ pickerView: TTADataPickerView, didSelectDate date: Date) { // actually you need configure the dateFormatter dateStyle and timeStyle to get the currect date from the `date` parameter if pickerView.type == .date { dateFormatter.dateStyle = .medium } else if pickerView.type == .time { dateFormatter.timeStyle = .medium } else if pickerView.type == .dateTime { dateFormatter.dateStyle = .medium dateFormatter.timeStyle = .medium } showLabel.text = dateFormatter.string(from: date) } // when the pickerView has been changed, this function will be called, and you will get the row and component which changed just now func dataPickerView(_ pickerView: TTADataPickerView, didChange row: Int, inComponent component: Int) { print(#function) } // when you clicked the cancel button, this function will be called firstly func dataPickerViewWillCancel(_ pickerView: TTADataPickerView) { print(#function) } // when you clicked the cancel button, this function will be called at the last func dataPickerViewDidCancel(_ pickerView: TTADataPickerView) { print(#function) } } ```