티스토리 뷰
macOS, iOS
[iOS] UIDocumentInteractionController 이용하기 -> preview 가능할때만 preview 해주기.
SweetDev 2020. 8. 4. 17:01카카오톡을 보면, 첨부파일을 다운로드 할 때 docx나 pdf같은 형식은 바로 preview가 보이는데, 한글 파일은 preview가 보이지 않고 파일 공유 화면으로 연결이 되었다. 이런 기능을 어떻게 구현했는지 궁금해져서 다음과 같이 정리해본다.
카카오톡에 테스트 해본 파일들. 깨진 pdf, 정상적인 pdf, hwp, docx로 테스트 해보았다.
카카오톡은 hwp 파일과 같은 경우 다음과 같이 half- modal로 present 되었다.
docx, pdf는 preview로 보여진다.
깨지는 Pdf 파일은 preview 이긴 한데, 내용은 안보인다.
나도 그래서 구현해봤다!!
변수를 선언해주고,
var viewer: UIDocumentInteractionController?
viewDidLoad에서 초기화도 해줬다.
viewer = UIDocumentInteractionController()
viewer?.delegate = self
delegate도 채택해주고, 구현도 해주었다.
extension DetailPostingViewController: UIDocumentInteractionControllerDelegate {
// Preview를 위한 Delegate
func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
return self
}
}
UIDocumentInteractionController 설명을 읽어보았다.
일단 크게 3가지가 있는 것을 알 수 있었다.
1. presentOptionsMenu
2. presentPreview
3. presentOpenInMenu
preview들을 정리해봤다.
presentOptionsMenu에서 Quick Look을 하면 presentPreview랑 같아지긴 한다.
끝 !
'macOS, iOS' 카테고리의 다른 글
[iOS] textview에 NSAttributedString으로 사진 추가하고, long touch 이벤트 핸들링 하기 (0) | 2020.08.04 |
---|---|
[iOS] 앱에서 파일 첨부하기 (0) | 2020.08.04 |
[iOS] UIButton class 적용시 모두 같은 action 하도록 하기 (0) | 2020.08.01 |
[iOS] 앱에 jwt 적용하기 - false가 오면 refresh해주고, 원 함수를 콜해주는 알고리즘? (0) | 2020.07.31 |
[iOS] scrollview 안에 textview 넣기 (0) | 2020.07.31 |