2017-10-01 22 views
1

3 개의 이미지가있는 ios 8+ 용 컨트롤을 만들고 싶습니다. 크게 왼쪽/오른쪽 이미지의 중앙 이미지가 작습니다.swift를 사용하여 3 uiImageView를 나란히 배치하십시오.

스택 레이아웃을 사용하여 신속하게 코드를 만들어야하지만 iOS 8에서 사용할 수 있으므로 iOS 8에서는 작동하지 않습니다. 따라서 이것을 변경해야합니다. 이미지를 함께 유지하려면 무엇을 사용해야합니까 (왼쪽 및 오른쪽 하단)?

또 다른 문제는 작은 왼쪽 및 오른쪽 이미지가 아닌 큰 중심 이미지에서만 팬 제스처가 필요하다는 것입니다. 그래서 나는 큰 이미지를 만질 때 나는 스크린 주위에 모두 3을 움직일 수있다. 현재 내가 3 개의 모든 동작 중 하나를 터치하면됩니다.

기능 :

  • 작은 왼쪽/오른쪽 이미지 : 법 버튼으로 빠른 기능을 실행하기위한

  • 중간 이미지 : 팬 제스처 끌기에 화면을 세

enter image description here

답변

1

요구 사항에 따라 이미지 슬라이더를 만들 수있는 세 가지 선택 사항이 있습니다. 스크롤 뷰 (UIScrollView)를 사용하여

  1. 페이지 컨트롤러를 사용하여 Collection 뷰 (UICollectionView)
  2. 를 사용
  3. 여기

은 간단/기본 로직, 당신은 이미지를 슬라이딩 달성하기 위해 사용하는 방법과 어떤 . 스크롤 뷰 (UIScrollView)를 사용하여

  1. 는 (더 큰 제외) 귀하의 요구 사항
  2. 설정 폭에 따라, 동일한 폭으로 스크롤 뷰에 중간 이미지의
  3. 설정 높이를 세 가지 이미지 추가 AutoLayout 제약 조건을 사용하여 장치 이미지와 같거나 그와 비슷한 비율 (약 80 %)의 이미지 (아마 가운데)를 선택합니다.
  4. 스크롤보기는 가로 콘텐츠 크기에 따라 자동으로 가로로 스크롤됩니다. 팬 제스처를 추가 할 필요가 없습니다.
  5. 또한 스크롤보기의 페이징을 사용할 수도 있습니다.


Collection 뷰 (UICollectionView)

  1. 세 (정적) 세포 또는 단일 동적으로 콜렉션 뷰를 추가 사용 (당신은 당신이 미래에이 기능을 업데이트하려면 어떻게 선택해야합니다. 단일 동적 셀을 선택하면 나중에 데이터 소스 변수에 데이터를 추가하여 슬라이더에 더 많은 이미지를 쉽게 추가 할 수 있습니다.
  2. 컬렉션보기에서만 가로 스크롤을 사용합니다.
  3. 업데이트 (더 크게 만들 수 있음) 항목의 인덱스 경로를 사용하는 데이터 소스 메서드의 이미지 높이 (indexPath.item == 1).
  4. 컬렉션보기에는 팬 제스처도 있습니다. 당신은 그것을 구현할 필요가 없습니다.
  5. 페이지 매김을 활성화 할 수도 있습니다.
  6. 참고 : 이미지/셀 너비를 장치 화면 또는 이와 동등한 것으로 설정하십시오. 페이지 컨트롤러를 사용


여기 는 "페이지 뷰 컨트롤러를 사용하는 방법"좋은 참조 자습서,


내가하지 않는 것이 좋습니다 있습니다 이 옵션 (페이지 뷰 컨트롤 r) 그러나 요구 사항의 범위 (컨트롤러 수준보기 또는 간단한 하위보기 슬라이더)에 대한 전체 정보를 제공 했으므로 슬라이더 이미지 옵션도 제공합니다.

+0

이렇게하는 다른 방법을 사용했습니다. 나는 당신의 접근 방식을 다른 작업에 사용할 것입니다. 지금은 단지 3 개의 이미지가 나란히 있기 때문에 프로그래밍 방식으로 추가했습니다. 아래 게시물에 나온 것처럼 https://stackoverflow.com/questions/46524174/programmatically-place-partial-image-over-another-in-uiview-using-swift-3 – Rahul