我不會推薦這個。 UIPageViewController,嗯,是一個UIViewController。對於任何真實世界的使用,我總是發現它太複雜 - 特別是如果您只是需要循環播放幻燈片的圖像。
我會建議添加一個孩子UIScrollView到UITableViewCell和自己處理幻燈片代碼。
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
您是否想回到第一頁並重新開始,還是總是看起來正在移動到新的頁面(從左到右)?你會允許用戶交互(允許用戶循環圖像),還是你想自動循環圖像?無論哪種方式,我不認爲UIPageViewController允許無限循環出框。 –
我想自動循環播放圖像,用戶也可以滑動以更改幻燈片圖像。 (像旋轉木馬) – Untilfinished