본문 바로가기
Project/SwiftUI 블록와이드

[SwiftUI Project] 뉴스기사 URL 공유 버튼 만들기

by iOS_woo 2022. 10. 19.

오른쪽 상단의 공유 버튼을 누르면 share sheet가 나타납니다.

이번에 구현해볼 것은 URL 공유 기능입니다. 
좋은 뉴스를 뉴스를 공유하고 싶을 때 사용할 수 있습니다. 

인터넷 세상에 꼭 필요한 기능이죠!

 

재사용 가능한 ShareButtonView

import SwiftUI

struct ShareButtonView: View {
    
    @State private var isShareSheetShowing: Bool = false
    
    let url: String
    
    var body: some View {
        Button(action: shareButton) {
            Image(systemName: "square.and.arrow.up")
                .foregroundColor(Color.theme.textColor)
                .font(.headline)
                .padding(.horizontal)
                .frame(width: 50, height: 50)
        }
    }
    
    func shareButton() {
        isShareSheetShowing.toggle()
        
        let url = URL(string: url)
        let av = UIActivityViewController(activityItems: [url!], applicationActivities: nil)
        
        UIApplication.shared.windows.first?.rootViewController?.present(av, animated: true, completion: nil)
    }
}

struct ShareButtonView_Previews: PreviewProvider {
    static var previews: some View {
        ShareButtonView(url: "www.google.com")
    }
}

func shareButton()에서 share sheet를 호출합니다. 

 

해당 코드는 다른 뷰에서 재사용 할 수 있도록 작성하였습니다. 

다음과 같이 사용할 수 있습니다.

ShareButtonView(url: 어떠한 URL)

 

참고 유튜브:

 

댓글