티스토리 뷰
내용
- 버튼을 통해서 특정 문자열을 손쉽게 클립보드에 복사하기.
시작전
먼저 UIPateboard
에 대해서 개발자문서를 통해 알아보자.
🖇 UIPasteboard
사용자가 앱 내의 한 위치에서 다른 위치로 데이터를 공유하는 것을 돕는 객체.
Overview
다른 앱과 데이터를 공유하려면 시스템 전체의 genaral pasteboard 를 사용해라.
같은 team ID 를 가지는 다른 앱으로 데이터를 공유하려면 pasteboards 의 이름을 사용해라.
일반적으로 앱의 객체는 유저가 인터페이스의 선택항목에 대한 복사, 잘라내기, 복제 작업을 요청할 때 데이터를 쓴다. 그런 다음 같거나 다른 앱의 다른 객체가 pasteboard 에서 데이터를 읽고 새 위치에서 제공한다. 이것은 일반적으로 붙여넣기 작업을 요청할 때 발생한다.
Note
iOS 14 부터 시스템은 다른앱의 pasteboard 컨텐츠를 가져오면 사용자에게 알린다.
The General Pasteboard and Named Pasteboards
시스템 전체의 general pasteboard 는 general 상수로 식별된다. 모든 유형의 데이터를 이를 통해서 paste board 를 얻어서 사용가능하다.
init(name:create:) 및 withUniqueName() 클래스 메서드로 pasteboards 를 생성하여 동일한 Team ID 를 가진 다른 앱으로 데이터를 공유할 수 있다.
Using Pasteboards
UIPasteboard 클래스는 개별적인 pasteboard items 를 읽고 쓰는 방법과 여러가지 pasteboard items 를 한번에 읽고 쓰는 방법을 제공한다. 자세한 내용은 이 문서 하단의 Getting and Setting pasteboard Items
를 참조해라.
pasteboard 에 쓸 데이터는 다음 두 형식중 하나일 수 있다.
- 데이터가 NSString, NSArray, NSDictionary, NSDate, NSNumber, UIImage, or NSURL 과 같은 객체로 표현될 수 있는 경우 값으로 표시될 수 있다. setValue(_:forPasteboardType:) 와 같은 메서드를 사용해서 pastboard 에 쓴다.
- 만약 데이터가 binary 인 경우, setData(_:forPasteboardType:) 메서드를 사용하여 pastboard 에 쓴다.
UIPasteboard 클래스는 단일 혹은 여러 pasteboard items 에 문자열, 이미지, URLs, colors 을 읽고 쓰기위한 편리한 메서드를 제공한다. (문서 하단의 Getting and Setting Pasteboard Items of Standard Data Types
참조)
다음을 사용해서 UIPasteboard 에 데이터를 기록해보겠다. 꽤 간단하다!
시작하기
- 버튼에 이벤트를 부여해서 클립보드로 손쉽게 복사해보기로 했다.
- 데이터 공유하기 위해서 general pasteboard 를 얻어서 사용해보자
🖇 Main 뷰
🖇 UIPasteboard 이용
- MainViewController
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var idText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
// ✅ 버튼 클릭시 idText 의 텍스트 pastebaord 에 복사.
@IBAction func pasteText(_ sender: Any) {
UIPasteboard.general.string = idText.text
}
}
🖇 완성
출처
깃허브
GitHub - hyun99999/UIPasteboardTutorial-iOS: 📎 클립보드로 복사하기 대작전
'iOS' 카테고리의 다른 글
iOS) UITextField 을 다뤄보자 (테두리/키보드업다운) (2) | 2021.10.05 |
---|---|
iOS) HTTP 메시지 구조를 통해 GET, POST 이해하기 (0) | 2021.10.04 |
iOS) UITextField placeholder 색 변경하기 (0) | 2021.09.28 |
iOS) URLSession 에 대해서 알아보자(2/2) - 실전 (0) | 2021.09.18 |
iOS) HTTP Multipart/form-data 이해하기 (0) | 2021.09.18 |
- YPImagePicker
- MVVM
- UserDefaults
- RxCocoa
- IOS
- OpenSourceLibrary
- rxswift
- 2022 KAKAO TECH INTERNSHIP
- Objective-C
- containerBackground
- WWDC22
- projectsetting
- watchOS
- Notification
- SwiftUI
- Algorithm
- APNS
- async/await
- MOYA
- Widget
- Firebase
- 서버통신
- Protocol
- CloneCoding
- configurable widget
- WWDC
- urlsession
- github
- Swift
- WidgetKit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday