diff --git a/RETableViewManager/Cells/RETableViewInlinePickerCell.m b/RETableViewManager/Cells/RETableViewInlinePickerCell.m index e2487ac..0e8410f 100644 --- a/RETableViewManager/Cells/RETableViewInlinePickerCell.m +++ b/RETableViewManager/Cells/RETableViewInlinePickerCell.m @@ -66,6 +66,8 @@ - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { [self shouldUpdateItemValue]; + if (self.item.pickerItem.onChange) + self.item.pickerItem.onChange(self.item.pickerItem); } - (void)shouldUpdateItemValue diff --git a/RETableViewManager/Cells/RETableViewPickerCell.m b/RETableViewManager/Cells/RETableViewPickerCell.m index 4ff8ebd..569acfc 100644 --- a/RETableViewManager/Cells/RETableViewPickerCell.m +++ b/RETableViewManager/Cells/RETableViewPickerCell.m @@ -213,6 +213,8 @@ - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { [self shouldUpdateItemValue]; + if (self.item.onChange) + self.item.onChange(self.item); } @end diff --git a/RETableViewManager/Items/REPickerItem.h b/RETableViewManager/Items/REPickerItem.h index e919218..048d8de 100644 --- a/RETableViewManager/Items/REPickerItem.h +++ b/RETableViewManager/Items/REPickerItem.h @@ -33,6 +33,7 @@ @property (copy, readwrite, nonatomic) NSString *placeholder; @property (assign, readwrite, nonatomic) BOOL inlinePicker; @property (strong, readwrite, nonatomic) REInlinePickerItem *inlinePickerItem; +@property (copy, readwrite, nonatomic) void (^onChange)(REPickerItem *item); + (instancetype)itemWithTitle:(NSString *)title value:(NSArray *)value placeholder:(NSString *)placeholder options:(NSArray *)options; - (id)initWithTitle:(NSString *)title value:(NSArray *)value placeholder:(NSString *)placeholder options:(NSArray *)options; diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m index 67a7340..77dbd75 100644 --- a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m @@ -108,6 +108,9 @@ NSLog(@"Value: %f", item.value); }]; self.dateTimeItem = [REDateTimeItem itemWithTitle:@"Date / Time" value:[NSDate date] placeholder:nil format:@"MM/dd/yyyy hh:mm a" datePickerMode:UIDatePickerModeDateAndTime]; + self.dateTimeItem.onChange = ^(REDateTimeItem *item){ + NSLog(@"Value: %@", item.value.description); + }; // Use inline date picker in iOS 7 // @@ -115,10 +118,10 @@ self.dateTimeItem.inlineDatePicker = YES; } - self.dateTimeItem.onChange = ^(REDateTimeItem *item){ - NSLog(@"Value: %@", item.value.description); - }; self.pickerItem = [REPickerItem itemWithTitle:@"Picker" value:@[@"Item 12", @"Item 23"] placeholder:nil options:@[@[@"Item 11", @"Item 12", @"Item 13"], @[@"Item 21", @"Item 22", @"Item 23", @"Item 24"]]]; + self.pickerItem.onChange = ^(REPickerItem *item){ + NSLog(@"Value: %@", item.value); + }; // Use inline picker in iOS 7 //