Обнаружьте, когда пользователь нажмет кнопку вставки в UITextView

Необходимо выделить массив сначала:

int [] terms = new int[400]; // allocate an array of 400 ints
for(int runs = 0; runs < terms.Length; runs++) // Use Length property rather than the 400 magic number again
{
    terms[runs] = value;
}
6
задан etolstoy 14 April 2014 в 15:05
поделиться

3 ответа

UITextView имеет представление, которое обрабатывает вырезание, копирование и вставку. Это UIWebDocumentView. Итак, если UITextView является первым респондентом, UIWebDocumentView получит его первым, а не вашу реализацию. Я хотел бы перезаписать эти функции, так что это очень неприятно.

3
ответ дан 10 December 2019 в 02:51
поделиться

Да, ваш приведенный выше код для вставки верен в соответствии с документацией Apple, которая ссылается на него здесь .

- (void)paste:(id)sender

Я подозреваю, что вы применяете его не в том файле. Вы должны реализовать его в файле, который является частью цепочки 1st Responder. Вы создали подкласс UITextView или используете обычный класс в своем ViewController?

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

Хорошо, думаю, я нашел это. Я думаю, вам нужно сделать это в своем подклассе UITextField: Что он делает, так это превращает ваш подкласс в объект типа, которому делегат может отправлять уведомление ... это полиморфизм, если только кто-то не хочет меня здесь поправить :)

И последнее, что нужно попробовать, Джон, в ViewController, который содержит IBOutlet для UITextView, попробуйте вызвать этот метод для экземпляра UITextView:

[myUITextView setDelegate:self];

Просто чтобы бросить туда что-то совершенно случайное, попробуйте настроить его как первого респондента.

[myUITextView becomeFirstResponder];

Это называется программированием в темных детях! И это очень плохой способ программирования, но я признаю, что делаю это, и иногда это окупается: P lol.

1
ответ дан 10 December 2019 в 02:51
поделиться

Same thing happens to me too. Select (and copy sometimes) gets called but paste never.

I have simulated the behavior using textViewDidChange where I always verify the difference between the current text and the previous one. If there are more letters different and the text.length is bigger than it must have been pasted.

Hope Apple will fix this.

3
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: