TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Sep 2016 |
Maintained by Danis Ziganshin.
This class adds UIDatePicker or UIPickerView that will expand or collapse by tapping on the cell in your UITableView.
Inspired by Apple's DateCell example and andjash's DateCellsController.
iOS 6.0
#import "PickerCells.h"
Instantiate and setup PickerCellsController
class.
self.pickersController = [[PickerCellsController alloc] init];
[self.pickersController attachToTableView:self.tableView tableViewsPriorDelegate:self withDelegate:self];
Add UIPickerView
and UIDatePicker
instances with correspoding indexPaths
UIPickerView *pickerView = [[UIPickerView alloc] init];
pickerView.delegate = self;
pickerView.dataSource = self;
NSIndexPath *pickerIP = [NSIndexPath indexPathForRow:1 inSection:1];
[self.pickersController addPickerView:pickerView forIndexPath:pickerIP];
UIDatePicker *datePicker1 = [[UIDatePicker alloc] init];
datePicker1.datePickerMode = UIDatePickerModeDate;
datePicker1.date = [NSDate date];
NSIndexPath *path1 = [NSIndexPath indexPathForRow:2 inSection:0];
[self.pickersController addDatePicker:datePicker1 forIndexPath:path1];
This class do not responsible for giving you information about picker selected values. You should do it by yourself. But you can get pickers from PickerCellsController
object by using corresponding cells indexPaths:
id picker = [self.pickersController pickerForOwnerCellIndexPath:indexPath];
if ([picker isKindOfClass:UIDatePicker.class]) {
UIDatePicker *datePicker = (UIDatePicker *)picker;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
cell.textLabel.text = [dateFormatter stringFromDate:[datePicker date]];
}
pod 'PickerCells'
MIT