UITextField> заставить курсор оставаться в конце поля - PullRequest
2 голосов
/ 19 марта 2011

Пользователь не должен иметь возможность перемещать курсор UITextField в другом месте введенной строки.

Мне это нужно, потому что я хочу, чтобы пользователь ввел сумму в валюте.Это делается, позволяя пользователю вводить числа, которые будут добавлены к концу суммы, и запятые будут перемещены на третью позицию от конца.

Как заставить курсор в UITextField остатьсяв конце введенной строки?

Ответы [ 4 ]

1 голос
/ 15 августа 2016

Поместите UIButton поверх вашего UITextField.Добавьте IBAction к кнопке и вызовите UITextField.becomeFirstResponder().

Это предотвращает передачу кликов, возможность изменения курсоров, но все же позволяет пользователю щелкнуть представление и выбрать его.

1 голос
/ 30 марта 2011

Я решил проблему, скрыв оригинальное поле ввода и показав значение, отформатированное в метке.Это предотвращает изменение пользователем положения курсора.

1 голос
/ 22 октября 2014

Создайте подкласс UITextField с

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { return NO; }

чтобы отключить все жесты в этом поле. Это означает, что вы делаете это поле программным первым респондентом.

0 голосов
/ 19 марта 2011

Я думаю, вы можете использовать:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

Просто дайте ему правильный диапазон.

...