Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UIScrollView显示CarouselImagesView_Ios_Swift_Uiscrollview_Uiscrollviewdelegate - Fatal编程技术网

Ios 使用UIScrollView显示CarouselImagesView

Ios 使用UIScrollView显示CarouselImagesView,ios,swift,uiscrollview,uiscrollviewdelegate,Ios,Swift,Uiscrollview,Uiscrollviewdelegate,我有一个UIScrollView可以显示一组页面并具有“旋转木马”效果,我想要的是在用户完成拖动后捕捉到图像。我是否应该添加一些其他功能,如ScrollViewDiEndDraging来观察用户的操作???多谢各位 代码 func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { timer?.invalidate() scrolled(scrollView: scrollView)

我有一个UIScrollView可以显示一组页面并具有“旋转木马”效果,我想要的是在用户完成拖动后捕捉到图像。我是否应该添加一些其他功能,如
ScrollViewDiEndDraging
来观察用户的操作???多谢各位

代码

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        timer?.invalidate()

        scrolled(scrollView: scrollView)
    }

 private func scrolled(scrollView: UIScrollView) {
        guard let imageUrls = self.imageUrls else {
            return
        }

        if imageUrls.count < 1 {
            return
        }
.
        if abs(lastContentOffset - scrollView.contentOffset.x) < 50 {
            return
        }

        if lastContentOffset > scrollView.contentOffset.x {
            if currentPageIndex == 0 {
                currentPageIndex = imageUrls.count - 1
            } else {
                currentPageIndex -= 1
            }
        } else {
            if currentPageIndex < imageUrls.count - 1 {
                currentPageIndex += 1
            } else {
                currentPageIndex = 0
            }
        }

        layoutImages()

        self.delegate?.didChangePage(currentPageIndex)
    }
func-scrollView-didend减速(\uscrollview:UIScrollView){
计时器?.invalidate()
滚动(滚动视图:滚动视图)
}
私有函数已滚动(滚动视图:UIScrollView){
guard let imageUrls=self.imageUrls-else{
返回
}
如果imageUrls.count<1{
返回
}
.
如果abs(lastContentOffset-scrollView.contentOffset.x)<50{
返回
}
如果lastContentOffset>scrollView.contentOffset.x{
如果currentPageIndex==0{
currentPageIndex=imageUrls.count-1
}否则{
currentPageIndex-=1
}
}否则{
如果currentPageIndex
首先,从内存的角度来看,滚动视图是不可靠的,将来如果动态加载大量图像,您的应用程序可能会出现内存溢出的情况,并可能崩溃


更好地使用集合视图、堆栈视图或表视图等视图,以实现单元格的可重用性,还可以解决拖动问题。

谢谢您的建议。我已经搜索了很多几乎可以用collection view完成的示例。@KPK-这并没有回答问题,所以应该是一个注释…请不要用“like Airbnb”提问。。。对于不使用该应用程序的人来说,这没有任何意义。试着更好地描述你的目标。你有一组图像吗?你想让他们可以滚动,每个图像都是滚动视图的宽度?您想在用户完成拖动后捕捉到图像吗?你想要一个“旋转木马”效果,滚动到图像列表的末尾后,会恢复到列表的开头?@DonMag这正是我想要的,谢谢你的建议我建议你搜索
旋转木马图像幻灯片swift
。。。大量结果,包括示例应用程序、教程、讨论等。对于堆栈溢出来说,您的问题有点过于宽泛。