Как скопировать текст в буфер обмена/картон с помощью Swift
Я ищу чистый пример того, как скопировать текст в буфер обмена iOS, который затем может быть использован/вставлен в другие приложения.
Преимущество этой функции заключается в том, что текст можно копировать быстро, без стандартных функций выделения текста традиционного копирования текста.
Я предполагаю, что ключевые классы находятся в UIPasteboard
, но не могут найти соответствующие области в примере кода, который они предоставляют.
Ответы
Ответ 1
Если вам нужен только простой текст, вы можете просто использовать свойство string
. Это и для чтения и для записи:
// write to clipboard
UIPasteboard.general.string = "Hello world"
// read from clipboard
let content = UIPasteboard.general.string
(При чтении из буфера обмена документация UIPasteboard также предполагает, что вы, возможно, захотите сначала проверить hasStrings
, "чтобы не заставить систему без необходимости пытаться извлекать данные до того, как они понадобятся, или когда данные могут отсутствовать", например, при использовании Раздача.)
Ответ 2
Поскольку копирование и вставка обычно выполняются парами, это дополнительный ответ на @jtbandes хороший, краткий ответ. Я изначально пришел сюда, чтобы посмотреть, как вставить.
iOS делает это легко, потому что общий монтажный щит можно использовать как переменную. Просто получите и установите UIPasteboard.general.string
.
Вот пример, показывающий, как оба используются с UITextField
:
копия
UIPasteboard.general.string = myTextField.text
Вставить
if let myString = UIPasteboard.general.string {
myTextField.insertText(myString)
}
Обратите внимание на то, что строка в области монтажа является необязательной, поэтому сначала ее необходимо развернуть.
Ответ 3
Копирование текста из приложения в буфер обмена:
let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber
Ответ 4
SWIFT 4
UIPasteboard.general.string = "TEXT"
Ответ 5
SWIFT 4
func copyToClipBoard(textToCopy: String) {
UIPasteboard.general.string = ""
UIPasteboard.general.string = textToCopy
}
назовите это как ниже, откуда вы хотите скопировать
self.copyToClipBoard("Text you want to copied to clipboard")