Я ищу чистый пример того, как скопировать текст в буфер обмена iOS, который затем может быть использован / вставлен в другие приложения.
Преимущество этой функции заключается в том, что текст может быть скопирован быстро, без стандартных функций выделения текста традиционного копирования текста.
Я предполагаю, что ключевые классы находятся в UIPasteboard
, но не могут найти соответствующие области в примере кода, который они предоставляют .
ios
swift
cocoa-touch
copy
uipasteboard
Гарри Лоу
источник
источник
Ответы:
Если все, что вам нужно, это простой текст, вы можете просто использовать
string
свойство . Это и для чтения и для записи:(При чтении из буфера обмена документация UIPasteboard также предлагает вам сначала проверить
hasStrings
, «чтобы система не вызывала ненужных попыток извлечения данных до того, как она понадобится, или когда данные могут отсутствовать», например, при использовании Handoff .)источник
UIPasteboard.general.string
тоже работает в swift 4.xПоскольку копирование и вставка обычно выполняются парами, это дополнительный ответ на хороший и краткий ответ @jtbandes. Я изначально пришел сюда, чтобы посмотреть, как вставить.
iOS делает это легко, потому что общий монтажный щит можно использовать как переменную. Просто возьми и установи
UIPasteboard.general.string
.Вот пример, показывающий, как оба используются с
UITextField
:копия
Вставить
Обратите внимание, что строка в монтажном столе является необязательной, поэтому сначала ее нужно развернуть.
источник
myTextField.font
. Вы можете сохранить эту информацию отдельно и применить ее в другом месте.UIPasteboard
не поддерживает стилизацию. Вы можете обрабатывать стили только в своем приложении.Копирование текста из приложения в буфер обмена:
источник
SWIFT 4
источник