Отключить быстрое удаление на UITextField - PullRequest
2 голосов
/ 23 сентября 2011

Итак, у меня есть метод делегата

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

работает, чтобы проверить, содержит ли textfield минимум 1 символ.

Хорошо, если количество символов превышает 20 или около того, когда пользователь удерживает кнопку удаления в течение секунды или двух, он удаляет все слово, перепрыгивая через проверку delegate и удаляя все до 0 символов. .

Кто-нибудь знает, как отключить это «быстрое удаление»?

Можно ли вообще это сделать или есть достойный обходной путь, которого я не вижу?

Я должен также указать, что это одно слово, которое будет вставлено в это текстовое поле пользователем.

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Ни за что.Что вы будете делать, если пользователь пометит несколько букв как блок и удалит их целиком или заменит одну букву?Вот почему этот метод работает с диапазонами, но не с отдельными символами.

0 голосов
/ 16 февраля 2017

Код в

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

или

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ 
    if (![text length]&&range.length&&range.length!=1){
        return NO;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...