apple/SwiftUI, Combine

SwiftUI Image 공부하면서 실제 서비스에 적용하기 위해 생각할 것들

lgvv 2022. 5. 18. 14:35

SwiftUI Image 공부하면서 실제 서비스에 적용하기 위해 생각할 것들

 

최근에 SwiftUI(iOS 15)를 공부하고 있는데, 서비스에서 이미지는 매우 중요해서 이를 더 공부하고 연습해보자.

 

SwiftUI Image 사용하면서 실제 서비스에 적용하기 위해 생각할 것들

1. 이미지 캐싱에 문제는 없을까?

2. List에서 prefetch를 사용하는데 문제는 없을까?

3. UIImage와 Image 사이의 변환하는게 없던데 이건 어떻게 할까?

4. 다운샘플링 등 이미지 자체의 최적화는 어떻게 할까?

5. CALayer를 활용할 수 있을까?

 

 

 

 

샘플 코드

import SwiftUI

struct CircleImageView : View {
    var body: some View {
        Image("dubai")
            .resizable()
            .scaledToFill()
            .frame(width: 300, height: 300)
            .clipShape(Circle())
            .shadow(color: .gray, radius: 10, x: 0, y: 10)
            .overlay(
                Circle()
                    .foregroundColor(.black)
                    .opacity(0.7)
            )
            .overlay(
                Circle()
                    .stroke(Color.red, lineWidth: 10)
                    .padding() // 패딩으로 오버레이된 이미지에 위치 조정
            )
            .overlay(
                Circle()
                    .stroke(Color.yellow, lineWidth: 10)
                    .padding(30)
            )
            .overlay(
                Circle()
                    .stroke(Color.blue, lineWidth: 10)
            )
            .overlay(
                Text("글자도 넣을 수 있음.")
                    .foregroundColor(.white)
                    .font(.system(size: 50))
                    .fontWeight(.bold)
                
            )
    }
}