inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phần 1: Học iOS cho người mới bắt đầu thực sự (SwiftUI, SwiftData, 2024)

Image, alignment

이미지 2x, 3x 질문

Đã giải quyết

33

jj4783

25 câu hỏi đã được viết

0

동일이미지임에도 몇개를 저장하는게

디바이스마다 알아서 최적화된 이미지를 보여주도록 스위프트가 알아서? 해줘서 그런건가요?

 

용량이 커지니까 제일 화질이 좋은? 이미지만 쓰는것이 나은것은 아닌가용?

ios swift swiftui swift5.5

Câu trả lời 2

0

nightdaycoding

안녕하세요 jj4783님!


네, 맞습니다. @2x, @3x 이미지를 따로 넣어두면 iOS가 현재 기기에 맞는 이미지를 알아서 선택해서 보여줍니다.

예를 들어 같은 크기의 이미지라도 어떤 기기는 @2x 이미지를 쓰고, 어떤 기기는 @3x 이미지를 써야 화면에서 더 선명하게 보입니다. 그래서 같은 이미지처럼 보여도 기기마다 필요한 실제 이미지 크기가 다를 수 있어요.

물론 제일 화질이 좋은 @3x 이미지만 넣어도 화면에 표시되기는 합니다. 다만 @2x 기기에서도 큰 이미지를 불러와서 줄여 보여주게 되기 때문에, 이미지가 많아지면 앱 용량이나 메모리 사용량이 불필요하게 커질 수 있습니다.

또 작은 아이콘이나 얇은 선이 있는 이미지는 기기에 딱 맞는 이미지를 쓰는 편이 더 깔끔하게 보일 수 있습니다.

그래서 이미지가 한두 개 정도라면 큰 차이가 없을 수 있지만, 실제 앱에서는 가능하면 @2x, @3x 이미지를 각각 넣어두는 것이 좋습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. jj4783님.

질문 주신 내용은 iOS 앱 개발에서 이미지 리소스의 관리와 관련된 부분입니다. 일반적으로 iOS에서는 이미지 리소스를 다양한 해상도로 제공하여 각기 다른 디바이스에 최적화된 이미지를 자동으로 사용할 수 있게 해줍니다. Swift, 즉 iOS는 @2x, @3x와 같은 해상도별로 이미지를 제공할 수 있도록 디자인되어 있으며, 이는 고해상도 디스플레이를 사용하는 iPhone이나 iPad에서 더욱 선명한 이미지를 보여줄 수 있게 도와줍니다.

이유:

  • 자동 최적화: iOS 디바이스는 사용 가능한 메모리가 다르기 때문에 각각의 기기에 맞춰 이미지를 최적화하여 받아 올 수 있습니다. 이렇게 하면 메모리 사용량을 적절하게 조정할 수 있습니다.
  • 디바이스 호환성: 다양한 디바이스에서 일관된 사용자 경험을 제공하기 위해 각기 다른 해상도의 이미지를 준비하는 것이 중요합니다.

화질이 좋은 이미지만 사용하는 경우:

  • 모든 디바이스에 대해 고해상도 이미지를 사용하려는 경우, 메모리 사용량 증가와 로딩 속도가 느려질 수 있습니다. 이는 저사양 디바이스에서는 성능 저하로 이어질 수 있습니다.

현재 이러한 문제는 일반적인 개발 관행이므로, 가능한 경우 디바이스별로 대응하는 이미지 파일을 준비하는 것이 성능 면에서 좋습니다.

이미지 리소스 관리에 대한 추가적인 논의는 다음 게시물을 참고하시기 바랍니다: Swift 개발 시 이미지 리소스 관리 방법.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SwiftData 미리보기 미적용

0

48

2

중괄호와 함수

0

49

2

기본 뷰 디자인이 강사님과 다릅니다.

0

48

2

확인 버튼 만들 때 폰트 색상 화이트 주는 위치 문의드려요.

1

81

2

Button(action: label:)이 강의와 달라요!

1

78

2

HStack과 VStack에서 alignment와 spacing 방향이 이해가 잘 안갑니다.

1

90

2

modifiers 창이 안보여요.

1

122

2

showAlert 변수 mvi 패턴에서의 사용법

1

69

2

swift vs swiftUI

1

76

1

끝말잇기 로직 구현 중 ios 16 (iphone 16) 시뮬레이터 영어 입력 불가

1

97

1

@Binding된 객체는 자동으로 저장이 되나요?

1

105

2

섹션5. Class로 Todo 데이터 관리하기 부분에서 질문 있습니다.

1

89

2

JSON_Decodable.playground에서 print문이 안찍히는 문제

0

127

2

List를 넣으니 위치가 제대로 조정이 되던데 그럼 Spacer는 따로 넣을 필요가 없는걸까요?

1

121

1

콘솔창에 값이 안찍히고 있습니다.

1

158

2

todo 앱에서 미리 적어놨던 요소들은 왜 안나오나요?

1

145

2

Swift 6 업데이트 이후 Todo 예제 실행 오류

1

197

2

ToDo 앱 @Observable 기능(?) 질문입니다

0

223

2

Todo 앱 @Observable 질문입니다

2

210

2

VStack, HStack으로 뷰 구성하기 강의 padding 질문입니다

1

236

1

@State 특성(?) 질문입니다

1

172

2

6-7) 이미지 사이즈 지정 위치 질문드립니다.

1

184

1

강의 자료를 모아보는 프로그램을 제작해보려고 합니다!

0

198

1

NavigationLink 질문

1

159

1