inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스위프트를 통해 사진을 여러장 선택 후, 선택된 이미지를 어떻게 홤면에 표시하나요?

279

ios개발자

작성한 질문수 8

0

안녕하세요

당근마켓에서 보면 저렇게 동그라미 버튼을 누르면 여러 장의 사진을 선택할 수 있고, 선택이 완료되면

선택된 사진을 버튼 옆으로 보여주는데요

 

이걸 구현할 때 가장 왼쪽에 있는 버튼 하나 구현하고, 그 옆에 선택된 이미지는 컬렉션 뷰를 통해 보여주면 되나요?

 

제가 구현하려고 하는 방법은 가장 왼쪽은 UIButton으로 구현하고 BSImagePicker를 통해 여러 장의 이미지를 선택하고 선택한 이미지를 별도의 배열에 저장한 다음에 그 옆으로 컬렉션뷰를 구현하여 배열 내의 사진을 한 장씩 보여주는 방식으로 하려고 합니다.

 

 

 

 

 

스위프트 uikit 컬렉션뷰 클론코딩 ios

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
듀듀님, 스위프트에서 여러 장의 사진을 선택한 후 화면에 표시하는 방법에 대해 질문해주셨네요.

말씀해주신 방법대로 구현하실 수 있습니다. 가장 왼쪽에 UIButton을 두어 사용자가 버튼을 누르면 BSImagePicker 라이브러리를 이용하여 여러 장의 이미지를 선택하게 하고, 선택한 이미지들을 배열에 저장하신 후, UICollectionView를 이용해서 선택된 이미지를 가로 스크롤 형태의 갤러리로 보여주는 것이 좋은 접근 방법입니다.

UIButton에 액션을 연결해 BSImagePicker를 호출하고, UIImagePickerControllerDelegate를 사용하여 선택된 이미지들을 반환받아 처리한다음, UICollectionView의 dataSource에서 해당 배열을 참조하여 사용자에게 보여줄 수 있도록 컬렉션 뷰 셀에 이미지를 설정하면 됩니다.

이미지를 삭제하는 기능도 구현하려면 컬렉션 뷰 셀 내에 삭제 버튼을 추가하고 해당 버튼에 액션을 연결하여 배열에서 해당 이미지를 제거하고 컬렉션 뷰를 새로고침(refresh)하면 됩니다.

참고로, 실제 이미지를 버튼 옆으로 보여주는 UI 구성을 할 때는 Autolayout 또는 SwiftUI를 사용하여 유동적인 레이아웃을 구성해 주시면 사용자 경험을 개선할 수 있습니다.

적절한 레이아웃과 함께 구현하시면 듀듀님의 앱에서 멋진 이미지 선택 기능을 사용할 수 있을 겁니다. 진행하시는 개발이 잘 되기를 바랍니다!

198강 (){onTap(e);}의 이해 돕기

0

25

1

더백님 감사합니다

1

37

1

수강 기간 연장 문의

0

27

1

수강연장부탁드려도될까요..

0

41

2

Combine Playground 에서 실행 시

0

55

2

video_call 플러그인 설치후 에러 발생

0

45

1

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

41

1

MCP 연동 인텔리제이 2.6.1

0

118

2

searchable이 화면 하단에 위치해요

0

61

2

MCP 연동관련

0

132

4

클로드 개발자 구성편집 설정시 문제점

0

95

2

2025.3.3 인텔리제이 버전에서 MCP설정하는 방법

0

335

2

Drawing Cycle 관련 질문

0

72

1

SDK 안드로이드 설치 질문!

0

59

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

95

2

가상의컨테이너에 파일생성이 됩니다.

0

68

2

코드팩토리 디스코드 링크 다시 부탁드려요~

0

92

1

델리게이트 패턴 관련 질문

0

66

2

claude_desktop_config.json 설정도 해야하는거죠?

0

140

2

ios 애드몹 광고

0

133

2

Webview를 이용해서 URL 상의 페이지 출력 불가

0

69

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

55

1

수강 기간 연장 부탁드릴 수 있을까요?

0

61

1

수강 기한 연장 문의

0

48

2