Swift를 사용하여 텍스트를 클립 보드 / 칠판에 복사하는 방법


184

iOS 클립 보드에 텍스트를 복사하여 다른 응용 프로그램에서 사용하거나 붙여 넣을 수있는 방법에 대한 깨끗한 예를 찾고 있습니다.

이 기능의 장점은 기존 텍스트 복사의 표준 텍스트 강조 기능없이 텍스트를 빠르게 복사 할 수 있다는 것입니다.

핵심 클래스가 있다고 가정 UIPasteboard하지만 제공 하는 코드 예제 에서 관련 영역을 찾을 수 없습니다 .


답변:


449

원하는 것이 일반 텍스트이면 string속성을 사용하면 됩니다 . 읽고 쓸 수 있습니다.

// write to clipboard
UIPasteboard.general.string = "Hello world"

// read from clipboard
let content = UIPasteboard.general.string

( 클립 보드에서 읽을, UIPasteboard 문서 는 또한 hasStrings핸드 오프를 사용할 때와 같이 시스템이 데이터를 필요로하기 전에 불필요하게 데이터를 가져 오려고하지 않도록하기 위해 먼저 확인하고 싶을 수도 있다고 제안합니다. .)


이것은 잘 작동 할 수 있지만 사용자가 복사 한 내용에 이미지 나 파일이 있으면 발생하지 않습니까?
victor

UIPasteboard.general.string스위프트 4.x에서도 작동
spnkr

글꼴 스타일로 글꼴을 복사하려면 어떻게해야합니까?
Krunal Nagvadia

57

복사와 붙여 넣기는 보통 쌍으로 이루어 지므로 @jtbandes에 대한 보완적인 답변입니다. 나는 원래 붙여 넣는 방법을 찾고 여기에 왔습니다.

iOS는 일반적인 판지를 변수처럼 사용할 수 있기 때문에 이것을 쉽게 만듭니다. 그냥 가져 와서 설정하십시오 UIPasteboard.general.string.

다음은 둘 다와 함께 사용되는 예입니다 UITextField.

UIPasteboard.general.string = myTextField.text

if let myString = UIPasteboard.general.string {
    myTextField.insertText(myString)
}

보드 보드 문자열은 선택 사항이므로 먼저 줄 바꿈을 해제해야합니다.


글꼴 스타일로 텍스트를 복사하는 방법 그래서 나는 그 글꼴 스타일을 사용할 수 있습니다
Krunal Nagvadia

@KrunalNagvadia, 글꼴 스타일로 텍스트를 복사 할 수 없지만을 사용하여 글꼴 정보를 얻을 수 있습니다 myTextField.font. 해당 정보를 별도로 저장하고 다른 곳에 적용 할 수 있습니다.
Suragch

좋아, 내 앱에서 텍스트를 복사하여 WhatsApp 또는 다른 앱 선량에 붙여 넣으면 스타일을 지원합니까?
Krunal Nagvadia

@KrunalNagvadia, 아니요, iOS 시스템 UIPasteboard은 스타일을 지원하지 않습니다. 자신의 앱 내에서만 스타일을 처리 할 수 ​​있습니다.
Suragch '11.

7

앱에서 클립 보드로 텍스트 복사 :

let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.