Можете ли вы закрепить представление на месте? (или есть какой-то другой обходной путь, чтобы предотвратить перемещение представления с помощью UIDateTimePicker?) (iOS)

Я добавил UIDatePicker программно и установил его как inputView и inputAccessoryView для UITextField, чтобы средство выбора даты появлялось вместо клавиатуры при выборе текстового поля.

Появится окно выбора даты; однако единственная проблема заключается в том, что остальная часть представления сдвигается вверх, тем самым скрывая изменяемый UITextField (поскольку текстовое поле находится в верхней части экрана).

Есть ли способ предотвратить это нежелательное перемещение? Или я могу каким-то образом закрепить представление на месте в методе textFieldDidBeginEditing и открепить представление в методе textFieldDidEndEditing? (Примечание: я попытался установить представление в верхней части экрана в методе textFieldDidBeginEditing, выполнив self.tableView.contentOffset = CGPointMake(0, 0);, однако это ничего не дало, и я думаю, это потому, что это происходит до того, как представление задвинуто вверх)

Если это поможет, представление делегата будет UITableViewController. Я знаю, что UITableViewControllers довольно ограничительны, и, возможно, именно поэтому он капризничает; однако это не позволяло мне использовать статические ячейки, если я не поместил их в UITableViewController, поэтому мне пришлось выбрать его по умолчанию.

Спасибо! Любая помощь будет оценена по достоинству!


person giant91    schedule 17.07.2013    source источник
comment
проверьте ответ здесь и посмотрите если это поможет...   -  person CaptJak    schedule 18.07.2013


Ответы (1)


Я понял, вы должны установить только UIDatePicker как свойство inputView для UITextField, а НЕ свойство inputAccessoryView для UITextField

person giant91    schedule 26.07.2013