Реализация клавиатуры (inputView) с помощью UITableViewCell - PullRequest
3 голосов
/ 22 ноября 2010

Я ищу самый прямой способ сделать так, чтобы, когда пользователь нажимает UITableViewCell, появлялась клавиатура. Я хочу использовать пользовательскую клавиатуру (UIPickerView), и я бы предпочел сделать стиль ячейки UITableViewCellStyleValue2. Я не могу найти очень прямой способ сделать это. У меня вверху есть панель навигации, и я надеюсь, что кнопки на этом тоже изменятся ...

Спасибо!

1 Ответ

1 голос
/ 22 ноября 2010

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

Так что, когда ваш вид загружается, вам нужно будет создать и настроить сборщик, а затем переместить его координату Y в * 1003.*

Затем в вашем - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath вы вызовете метод, который отвечает за анимацию вашего представления выбора на место.Единственная проблема, которую я предвижу с этим подходом, состоит в том, чтобы позволить пользователю отклонить это представление средства выбора таким образом, который имеет смысл, поскольку пользователи используются для ввода представлений, скользящих только тогда, когда они необходимы (это означает, что они появляются, когда представление становитсяFirstResponder, и они исчезают автоматическикогда это представление изменяет статус FirstResponder).

Мне кажется, я понимаю, чего вы здесь добиваетесь, и я бы сделал это немного по-другому.Вместо того, чтобы отображать средство выбора с параметрами при выборе ячейки, я бы вместо этого выдвинул новый tableViewController с вашими параметрами, представленными в виде ячеек.Затем, когда пользователь делает выбор, вы можете установить галочку и вернуться к исходному виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...