[TIL] 2021.02.08
👩🏻💻 오늘 공부한 내용
✅ Page Control ( 참고 사이트 )
- pageControl 선언
@IBOutlet weak var pageControl: UIPageControl!
- pageControl 초기 설정
pageControl.numberOfPages = // 이미지 수
pageControl.currentPage = // 현재 페이지 설정
pageControl.pageIndicatorTintColor = // 선택 안된 페이지 색
pageControl.currentPageIndicatorTintColor = // 선택 된 페이지 색
imageView.image = // 처음 페이지 이미지
- 페이지 눌렀을 때 함수 구현
@IBAction func pageChanged(_ sender: Any) {
imageView.image = // 선택된 이미지 : pageControl.currentPage
}
- 전체 코드
class SelectWishViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var pageControl: UIPageControl!
override func viewDidLoad() {
super.viewDidLoad()
setPageControl()
}
func setPageControl(){
pageControl.numberOfPages = wishListViewModel.wishs[paramIndex].photo.count
pageControl.currentPage = 0
pageControl.pageIndicatorTintColor = UIColor.lightGray
pageControl.currentPageIndicatorTintColor = UIColor.white
imageView.image = wishListViewModel.wishs[paramIndex].photo[0]
}
@IBAction func pageChanged(_ sender: Any) {
imageView.image = wishListViewModel.wishs[paramIndex].photo[pageControl.currentPage]
}
}
✅ ImageView에 Swipte Gesture ( 참고 사이트 )
- swipe gesture 초기 설정
imageView.isUserInteractionEnabled = true // true로 설정해줘야 함
// 왼쪽 스와이프
let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(SelectWishViewController.respondToSwipeGesture(_:)))
swipeLeft.direction = UISwipeGestureRecognizer.Direction.left
self.imageView.addGestureRecognizer(swipeLeft) // 이미지뷰에 추가
// 오른쪽 스와이프
let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(SelectWishViewController.respondToSwipeGesture(_:)))
swipeRight.direction = UISwipeGestureRecognizer.Direction.right
self.imageView.addGestureRecognizer(swipeRight) // 이미지뷰에 추가
- 제스쳐 함수 구현
@objc func respondToSwipeGesture(_ gesture: UIGestureRecognizer) {
// 만일 제스쳐가 있다면
if let swipeGesture = gesture as? UISwipeGestureRecognizer{
switch swipeGesture.direction {
case UISwipeGestureRecognizer.Direction.left :
pageControl.currentPage += 1
imageView.image = wishListViewModel.wishs[paramIndex].photo[pageControl.currentPage]
case UISwipeGestureRecognizer.Direction.right :
pageControl.currentPage -= 1
imageView.image = wishListViewModel.wishs[paramIndex].photo[pageControl.currentPage]
default:
break
}
}
}
✅ 사파리 호출
@IBAction func linkButtonTapped(_ sender: Any) {
//사파리로 링크열기
if let url = URL(string: wishListViewModel.wishs[paramIndex].link) {
UIApplication.shared.open(url, options: [:])
}
}
Author And Source
이 문제에 관하여([TIL] 2021.02.08), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sainkr/TIL-2021.02.08저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)