Ios swift中的舍入数,以在输出中一次生成一个整数

Ios swift中的舍入数,以在输出中一次生成一个整数,ios,swift,xcode,Ios,Swift,Xcode,好了,伙计们,我有点进退两难,所以我得到了一个collectionview,我试图找到用户在哪个图像上,所以我决定创建一个变量x,它等于collectionviewcontentsize/view.frame.width。好,然后我做了一个和if语句来检查图像是否在图像0上方。现在我只是想在编写其他代码之前修复它。我的问题是,当我说printx时,它会在图像最终到达2之前打印1大约40次。哦,这个集合视图有一个单元格,其中的图像占据了大部分屏幕,是水平滚动的,并且启用了分页功能。所以我想知道是否

好了,伙计们,我有点进退两难,所以我得到了一个collectionview,我试图找到用户在哪个图像上,所以我决定创建一个变量x,它等于collectionviewcontentsize/view.frame.width。好,然后我做了一个和if语句来检查图像是否在图像0上方。现在我只是想在编写其他代码之前修复它。我的问题是,当我说printx时,它会在图像最终到达2之前打印1大约40次。哦,这个集合视图有一个单元格,其中的图像占据了大部分屏幕,是水平滚动的,并且启用了分页功能。所以我想知道是否有人能帮我在每张图像的输出中只打印一个数字。这里是一个很好的图像,以了解问题


因此,在该图像中,我只滚动到下一个图像或第一个图像,collectionview中的第二个图像img 1被视为0。请在评论中询问任何问题,或者如果您感到困惑。谢谢大家

您可以设置一个变量来保存当前数字,并仅在数字更改时打印该数字。在类的顶部定义变量:

var currentImage = 0
然后在scrollViewDidScroll中,执行以下操作:

func scrollViewDidScroll(_ scrollView:UIScrollView) {
    let x = floor(myCollectionView.contetOffset.x / view.frame.width)
    if Int(x) != currentImage {
        currentImage = Int(x)
        print(currentImage)
    }
}

如果你发布实际的代码而不是代码的屏幕截图,那就更容易了:那么你想要哪个图像当前在scrollview中可见?右滚动?我想在该图片中包含outputI当前在图像1上每个单元格都有一个imageView对吗?不管它如何工作,请确保我将它放在scrollview函数之外。那么为什么要将变量函数之外的currentimage会产生这样的差异吗?顺便说一句,我将接受正确答案,非常感谢,因为每次运行代码时,您都将currentImage定义为0,因此,每次调用scrollViewDidScroll时,如果方法中有currentImage,则再次将其设置为0,这意味着您始终满足以下条件!=方法中的条件。。。