이번에 구현해볼 것은 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)
참고 유튜브:
'Project > SwiftUI 블록와이드' 카테고리의 다른 글
[SwiftUI Project] 다크모드/라이트모드 전환 버튼 만들기 (0) | 2022.10.27 |
---|---|
[SwiftUI Project] 텍스트필드 글자 수 제한하기 (문제 해결 과정) (0) | 2022.10.19 |
[SwiftUI Project] 네트워크 모니터 추가하기 (유튜브 스타일) (2) | 2022.10.19 |
[SwiftUI Project] 몇시간 전, 몇일 전 상대적 시간 구하기 RelativeDateTimeFormatter (0) | 2022.10.14 |
[SwiftUI Project] 예외처리: StatusCode에 따라서 안내글 띄우기 (0) | 2022.10.14 |
댓글