В iOS 7 разработчикам рекомендуется отображать подборщики дат между ячейками таблицы, когда это необходимо для ввода, а затем скрыть их при завершении. Как я могу достичь этого эффекта?iOS Показать UIPickerView между UITableViewCells
ответ
Василикэ Costescu имеет большой учебник по нему здесь: http://masteringios.com/blog/2013/10/31/ios-7-in-line-uidatepicker/
И для статических таблиц: http://masteringios.com/blog/2013/11/18/ios-7-in-line-uidatepicker-part-2/
Пример кода здесь: https://github.com/costescv/InlineDatePicker
Ключевые биты являются скрыть/показать методы:
- (void)showDatePickerCell {
self.datePickerIsShowing = YES;
[self.tableView beginUpdates];
[self.tableView endUpdates];
self.datePicker.hidden = NO;
self.datePicker.alpha = 0.0f;
[UIView animateWithDuration:0.25 animations:^{
self.datePicker.alpha = 1.0f;
}];
}
- (void)hideDatePickerCell {
self.datePickerIsShowing = NO;
[self.tableView beginUpdates];
[self.tableView endUpdates];
[UIView animateWithDuration:0.25
animations:^{
self.datePicker.alpha = 0.0f;
}
completion:^(BOOL finished){
self.datePicker.hidden = YES;
}];
}
И этот метод UITableViewDelegate будет «скрыть» строки, установив высоту до 0:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 4 && self.datePickerIsShowing == NO){
// hide date picker row
return 0.0f;
}
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
Вы можете вызывать методы скрыть/показать с помощью кнопки или просто путем выбора строк в таблице. (Примечание. Если в других строках есть текстовые поля, вам может потребоваться скрыть datePicker в методе делегата textFieldDidBeginEditing).
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 4) {
if (self.datePickerIsShowing){
[self hideDatePickerCell];
}else {
[self showDatePickerCell];
}
}
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
EDIT: Будьте осторожны при использовании более двух этих встроенных взглядов початкоотделяющем на в одной таблице. Я заметил, что они, как правило, загружаются очень медленно из раскадровки: iOS 7 slow to open UITableViewController with UIPickerView
@Antony F У вас есть опыт работы с этим кодом и несколькими разделами ?! – davidOhara
@chrizstone - Да. В моем примере в строке 4 раздела 0 есть только один дампикер, но вы можете добавить несколько сборщиков дат в разные строки или разделы. –
Я пробовал это, но по какой-то причине иногда неправильный сборщик отображается в неправильном ряду ... – davidOhara
- 1. NSRangeException при вставке строк с UIPickerView между двумя статическими UITableViewCells
- 2. Интервал между UITableViewCells
- 3. Удалите интервал между UITableViewCells
- 4. Как нарисовать соединительные линии между двумя uitableviewcells ios
- 5. iOS - Инициализация uitableViewCells?
- 6. Удалить промежуток между UITableViewCells
- 7. Прозрачность между UITableViewCells
- 8. Показать UIPickerView на основе другого UIPickerView
- 9. IOS UIPickerView - динамически добавить в статическую таблицу
- 10. Показать только полностью видимый UITableViewCells
- 11. Ошибка в iOS с UITableViewCells?
- 12. IOS быстры UIPickerView вопрос
- 13. Пользовательский UIPickerView iOS
- 14. Отклонить UIPickerView в iOS
- 15. iOS UIPickerView - Внешний вид
- 16. IOS, UIPickerView с UITableViewCell
- 17. iOS - Как заполнить UIPickerView?
- 18. iOS UITableView с UIPickerView
- 19. Xamarin iOS UiPickerView учебник
- 20. iOS - Заполнение статического UIPickerView
- 21. Уменьшить смету содержимого UIPickerView ios
- 22. Изменение между UITableViewCells в UITableView
- 23. ios показать одно поле в UIPickerView вместо всех
- 24. Как показать и скрыть UIPickerView, как клавиатура iOS?
- 25. Добавить UITableViewCells между 2 UITableViewCells в UITableView с анимацией
- 26. Показать UIPickerView на этикетке нажмите
- 27. Показать UIPickerView при нажатии UITextField
- 28. показать uipickerview после некоторой задержки
- 29. Показать UIPickerView on Gesture Tapped
- 30. UIPickerView - Показать изображения и текст
есть ответ на ваш вопрос здесь: http://stackoverflow.com/questions/17646351/make-uipickerview-appear- между ячейками-когда-touch-cell –