Как выполнить функцию копирования/вставки программно в iphone?
У меня есть текстовое представление с некоторым текстом и кнопкой копирования в этом представлении,
Когда пользователь вводит какой-либо текст и нажимает кнопку копирования, ему необходимо скопировать этот текст и вставить этот текст там, где он хочет.
Я знаю, что в iOS есть стандартный диспетчер копирования/вставки в iOS, но я хочу сделать эту функциональность нажатием кнопки. Я думаю, что есть UIPasteboard
для выполнения этой функции, но я не знаю, как ее использовать.
Ответы
Ответ 1
Чтобы скопировать с одной кнопки, нажмите:
- (IBAction)copy {
UIPasteboard *pb = [UIPasteboard generalPasteboard];
[pb setString:[textView text]];
}
Чтобы вставить из нажатия кнопки:
- (IBAction)paste {
UIPasteboard *pb = [UIPasteboard generalPasteboard];
textView.text = [pb string];
}
Ответ 2
Для разработчиков, использующих MonoTouch, вот две строки, которые я использовал для завершения задачи в С#.
Ответ iscavenger, предоставленный на этот вопрос, послужил моделью моего ответа (после того, как я успешно реализовал его в своем проекте;)
UIPasteboard clipboard = UIPasteboard.General;
clipboard.String = "string being added to clipboard";
Ответ 3
Swift
Это версия принятого ответа Swift.
Копировать
UIPasteboard.general.string = myTextView.text
Вставить
if let myString = UIPasteboard.general.string {
myTextView.insertText(myString)
}
Ответ 4
Не уверен, почему мы не можем просто использовать:
[theTextView paste:nil];
согласно Документы UIResponder
Ответ 5
Я подозреваю, что вы можете относительно легко делать то, что хотите, начиная с метода [UIPasteboard dataForPasteboardType:]
.
Здесь пример кода Apple, на который вы можете посмотреть:
http://developer.apple.com/library/ios/#samplecode/CopyPasteTile/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009040