SwiftUI

LibraryContentProvider 로 XCode 라이브러리에 뷰 추가하기

basker 2023. 6. 10. 14:03

iOS 14.0 이상에서 XCode에 새로 만든 커스텀 뷰들을 라이브러리에 추가해서 라이브러리에서 자신의 뷰를 가져올 수 있는 방법을 제공하고 있습니다. 이전에 생성한 CachedAsyncImage를 아래와 같이 라이브러리에 추가하는 거죠.

방법은 간단합니다. LibraryContentProvider 프로토콜을 준수하는 구조체를 아래와 같이 작성만 해주면  끝입니다.

import SwiftUI
struct LibraryViewContent: LibraryContentProvider {
    let url = URL(string: "http://placehold.it/120×120&text=image4")
    var views: [LibraryItem] {
        LibraryItem(CachedAsyncImage(url: url))
    }
}

이제 Shit + Cmd + L을 통해서 해당 뷰를 화면에 불러오면 끝입니다. 

뷰 뿐만 아니라 개인적으로 정의한 한정자들도 func modifiers(base: MyView) -> [LibraryItem]을 재정의하면 됩니다.