私はこれをお勧めしません。 UIPageViewControllerは、UIViewControllerです。私はいつも、実世界での使用にはそれほど複雑すぎると感じました。特に、スライドショー用の画像を循環させるだけでよいのです。
UITableViewCellに子のUIScrollViewを追加し、スライドショーコードを自分で処理することをお勧めします。
Here is a code sample UIScrollViewを設定する際のいくつかの良い方法があります。最も重要な部分は、scrollViewDidScrollデリゲートの呼び出しで、現在の指数を計算している:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// Calculate current index
let index = Int(round(scrollView.contentOffset.x/scrollView.frame.size.width))
updateCurrentIndex(index: index)
}
ユーザーのためのスライドショーをスクロールする必要がある場合は、直接updateCurrentIndex呼び出すことはありません。代わりにsetContentOffsetを呼び出すと、デリゲートが起動し、updateCurrentIndexメソッドはユーザーが手動でスクロールしている場合と同じように動作します。
@IBAction func didNext() {
if (currentIndex < scrollView.subviews.count-1) {
let point = CGPoint(x: scrollView.bounds.size.width * CGFloat(currentIndex + 1), y: 0)
scrollView.setContentOffset(point, animated: true)
} else {
performSegue(withIdentifier: "showTermsSegue", sender: self)
}
}
私はあなたの解決が気に入っていますが、問題はサイクリングのイメージを作りたいということです。無限ループでUIScrollViewを実装できますか? – Untilfinished
ページ1に戻ってやり直すか、新しいページ(左から右)に移動しているように見えますか?ユーザーとのやりとりを許可するか(ユーザーがイメージを循環できるようにする)、イメージを自動的に循環させますか?いずれにしても、私はUIPageViewControllerがボックスから無限ループすることはできないと思います。 –
イメージを自動的に循環させたいと思っています。また、スライドショーイメージを変更するためにスワイプすることもできます。 (カルーセルのような) – Untilfinished