UITableViewCell с переключением UITextField между uikeyboard и uidatepickerview

#iphone #uitableview #uitextfield #uipickerview

#iPhone #uitableview #uitextfield #uipickerview

Вопрос:

у меня есть таблица с 3 типами строк. Первый тип содержит текстовое поле для буквенно-цифрового обозначения, в котором вы должны что-то написать. Второй тип должен содержать текстовое поле с номером. третий тип содержит дату.

Моя проблема в том, что когда я нажимаю на первый тип, появляется клавиатура. Переключение между type one и two мгновенно переключает клавиатуру с буквенно-цифровой на цифровую. Как я могу добиться мгновенного переключения с этих типов клавиатуры на uidatepicker для type 3. Единственный способ, который я нашел, — это отключить клавиатуру другого текстового поля и впоследствии отобразить uidatepicker. Но отключение клавиатуры приведет к прокрутке клавиатуры вниз. Как я могу добиться мгновенного переключения?

Bevo

Ответ №1:

Присвоите свойству inputView UITextField значение экземпляра UIDatePicker.

 picker = [[UIDatePicker alloc] initWithFrame:CGRectZero];
[picker addTarget:self action:@selector(pickerValueChanged) forControlEvents:UIControlEventValueChanged];
textField.inputView = picker;
  

В pickerValueChanged обновите свойство text текстового поля, преобразовав дату в строку:

 - (void)pickerValueChanged {
    textField.text = [picker.date description];
}