Как скопировать текст в буфер обмена/картон с помощью 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")