2017-02-06 1 views
0

내 앱에 이미지 슬라이더를 만듭니다. 이 모양입니다. 가로로 스크롤 할 수있는 작은 이미지가 있으며 각 이미지를 터치하면 큰 이미지 뷰어가 열립니다. iOS 앱용 이미지 뷰어가 포함 된 ImageSlider

slider with images image viewer

는 슬라이더 I는 UICollectionView를 생성하고, 각 셀은 이미지이다. 셀을 클릭하면 별도의 ViewController (이미지 뷰어로 작동)가로드됩니다. 이보기에는 큰 이미지를위한 UIImageView가 있습니다.

그리고 내 질문 목록 : 1) 사용자가 이미지 뷰어에서 이미지를 바꿀 수있는 가장 좋은 방법은 입니다. 2) 어디에서나 가장 많이 메모리 사용에 신경을 써야합니다. 작은 이미지로도 시뮬레이터에서는 매우 매끄럽지 않습니다. 3) 이미지 슬라이드 뷰어를 만드는 데 적합한 방법인가요, 아니면 뭔가 빠졌는가? 어쩌면 캐시 비동기 로딩 및 기타 멋진 기능을 다루는 프레임 워크가 있습니까?

+0

UIPageViewController와 함께한다면 당신의 아이디어는 무엇입니까 작은 이미지와 큰 이미지를위한 contentviewcontroller 하나에서 두 개의 이미지 뷰를 취할 수 있음을 의미합니다. 처음으로 작은 이미지 갤러리를 표시하고 큰 이미지를 숨길 수 있습니다. 작은 이미지 갤러리를 숨길 수있는 모든 이미지 나는 원하는 애니메이션으로 큰 이미지를 보여줍니다. –

+0

이미지를 스 와이프하려면 이미지 배열을 만들고 사용자가 스 와이프 할 때마다 다음을 사용하십시오. ** ImageView.image = myImages [i + 1] ** 또는 ** [i-1] **, ** i ** 이미지를 통해 카운터 역할을합니다. 그리고 이미지를 선택하고 segue를 준비 할 때 i 값을 상세 이미지보기 컨트롤러로 전달하십시오. ** i ** 값을 사용하여 "i/15"를 만들 수 있기 때문에 이것은 매우 편리합니다. –

답변

1

이미지의 출처를 알 수 없습니다. 서버에서 전송되었거나 앱에서 번들로 복사 되었습니까?

작은 이미지의 경우 축소판을 사용해야합니다 (큰 이미지를로드하지 말고 대신 이미지를 사전 처리하고 500x500과 같은 미리보기 이미지를 작게 만든 다음 표시하십시오). 서버에서로드하는 경우 GCD를 사용하여 비동기 프로세스를 처리하는 "지연로드 이미지"를 찾습니다.

이 목적으로 CollectionView를 사용하는 것이 좋습니다. 또는 UIPickerView를 사용자 정의하여 자유로운 스크롤 대신 선택한 이미지에서 "스냅하는"효과를 낼 수 있습니다. 다른 대안은 github에서 찾을 수있는 사용자 지정 컨트롤입니다.

편집 : 사용자의 스크롤이 CollectionView로 인해 어려울 경우, layer.masksToBound = YES를 사용하고있을 가능성이 있습니다. 이로 인해 성능이 저하됩니다. 이것을 사용하지 마십시오.

+0

감사합니다! 이미지는 서버에서로드됩니다. – moonvader