iOS étant un écosystème tourné vers le développeur, il existe en général une API et des outils préconçus pour répondre à vos besoins sans avoir à réinventer la roue.
C’est notre cas ici, il existe forcément un moyen dit “natif” ou “préconçu” pour afficher un document dans une application iOS. C’est le cas avec le framework QuickLook qui permet d’afficher des documents dans une application iOS, il est disponible depuis iOS 4.0.
DocumentViewController par un QLPreviewController qui va afficher le document sélectionné💡 Vous n’aurez plus besoin de segue ou de storyboard pour afficher le détail du document.
💡 Vous aurez besoin de créer un
QLPreviewControllerdans votreDocumentTableViewControlleret de le présenter lorsque l’utilisateur sélectionne un document.
💡 Utilisez une extension de
DocumentTableViewControllerpour implémenter le protocoleQLPreviewControllerDataSource, puis assigner le delegate àselfdans la fonctiondidSelectRowAt.
Voici un exemple de code pour vous aider :
// On utilise plus un segue, nous devons donc utiliser le navigationController pour afficher le QLPreviewController
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let file = fileList[indexPath.row]
// A vous de coder cette fonction
self.instantiateQLPreviewController(withUrl: file.url)
}
// Todo
func instantiateQLPreviewController(withUrl url: URL)
disclosureIndicator ?🛟 De l’aide pour répondre à cette question : https://developer.apple.com/design/human-interface-guidelines/lists-and-tables#iOS-iPadOS-visionOS