I found a calendarDatePicker here and I want to show that custom picker when user touched textField.
In my previous project I just created a default pickerView and then set it to textField's inputView and it works.
And here I've tried to do this again but THCalendarDatePicker is a viewController, not an inputView.
Here is the code:
class ViewController: UIViewController, THDatePickerDelegate {
@IBOutlet weak var textField: UITextField!
var datePicker:THDatePickerViewController?
var curDate: NSDate?
override func viewDidLoad() {
super.viewDidLoad()
self.curDate = NSDate()
datePicker = THDatePickerViewController.datePicker()
datePicker!.delegate = self
datePicker!.setAllowClearDate(false)
datePicker!.setClearAsToday(true)
datePicker!.setAutoCloseOnSelectDate(false)
datePicker!.setAllowSelectionOfSelectedDate(true)
datePicker!.setDisableHistorySelection(false)
datePicker!.setDisableFutureSelection(false)
//datePicker!.autoCloseCancelDelay = 5.0
datePicker!.selectedBackgroundColor = UIColor.blackColor()
datePicker!.currentDateColor = UIColor.yellowColor()
datePicker!.currentDateColorSelected = UIColor.yellowColor()
}
@IBAction func touchInInput(sender: AnyObject) {
datePicker!.date = curDate
datePicker!.setDateHasItemsCallback({(date:NSDate!) -> Bool in
let tmp = (arc4random() % 30) + 1
return tmp % 5 == 0
})
presentSemiViewController(datePicker!, withOptions: [
KNSemiModalOptionKeys.pushParentBack : NSNumber(bool: true),
KNSemiModalOptionKeys.animationDuration : NSNumber(float: 0.5),
KNSemiModalOptionKeys.shadowOpacity : NSNumber(float: 0.3)
])
sender.inputView == ??? // what I should code here?
}
func datePickerCancelPressed(datePicker: THDatePickerViewController!) {
self.dismissSemiModalView()
}
func datePickerDonePressed(datePicker: THDatePickerViewController!) {
self.dismissSemiModalView()
}
func datePicker(datePicker: THDatePickerViewController!, selectedDate: NSDate!) {
println(selectedDate)
}
}
Can someone help me?