当我滚动UICollectionView(启用分页)太快时,它会滚动两页

时间:2017-05-30 12:58:50

标签: ios swift3 uicollectionview

我的qustion很简单。我搜索了很多,我熟悉UICollectionView,但从未见过UICollectionView的这种行为。请不要快速回答,请阅读我的所有问题。 我正在开发一个使用collectionView(和自动布局)的项目。我的collectionView启用了分页,工作正常。但是当我滚动太快时(我的意思是太快)它会滚动两页并显示下一行(前一行)的内容。还有这段代码:

decelerationRate = UIScrollViewDecelerationRateFast

没有工作。 我创建了一个临时项目,它有1个控制器和一个简单的collectionView(启用了分页,单元格的大小与viewController大小相同)。并且单元格中只有一个标签。标签号与collectionView行相同。还设置了这个:

decelerationRate = UIScrollViewDecelerationRateFast

当我从1快速滚动到2时,它在3上停止,反之亦然。 这是我的临时项目代码(即自动布局):

override func viewDidLoad()
    {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let collectionViewLayout = UICollectionViewFlowLayout()
        collectionViewLayout.sectionInset = UIEdgeInsets.zero
        collectionViewLayout.minimumLineSpacing = 0
        collectionViewLayout.minimumInteritemSpacing = 0
        collectionViewLayout.scrollDirection = UICollectionViewScrollDirection.horizontal



        self.collView.collectionViewLayout = collectionViewLayout

        self.collView.decelerationRate = UIScrollViewDecelerationRateFast
    }


    func numberOfSections(in collectionView: UICollectionView) -> Int
    {
        return 1
    }


    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    {
        return 10
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
    {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollCell
        print("cell For Item At Row \(indexPath.row)")
        cell.lblNumber.text = "\(indexPath.row)"

        return cell
    }


    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
    {
        return CGSize(width: collectionView.frame.size.width, height: collectionView.frame.size.height)
    }

谁知道我该怎么办?这是UICollectionView的正常行为吗?

0 个答案:

没有答案