概要
iOSアプリのカルーセル表示でiCarouselを使用していて、カルーセルをスクロールしたときに中心のアイテムを取得したかったのでやってみました。
ちょっとこれじゃない感があるけど他に思いつかなかったので…
方法
iCarouselDelegate を継承したクラスで以下のように carouselDidEndScrollingAnimation メソッドを実装してあげます。
スクロールのアニメーションが終わったタイミングでカルーセルの中心にあるアイテムを取得しています。
コード内に記述している items
はカルーセルビューのデータソースです。
ViewController.swift
func carouselDidEndScrollingAnimation(_ carousel: iCarousel) {
// currentアイテムの取得
let currentCard = items[carousel.currentItemIndex]
}
間違ってるとか他にもっとスマートな方法があれば教えてください…