仅通过按下按钮滚动 UICollectionView

Posted

技术标签:

【中文标题】仅通过按下按钮滚动 UICollectionView【英文标题】:Scrolling a UICollectionView only with a button press 【发布时间】:2015-02-03 12:00:13 【问题描述】:

我有一个UICollectionView,它的单元格包含用户必须输入的问题和UITextField。我想在UICollectionViewCell 上添加一个按钮,用户必须按下该按钮才能滚动到下一个@987654324 @。这可能吗?我该怎么做。

【问题讨论】:

【参考方案1】:

您可以设置按钮标签来保存索引行的值。 所以在你的cellForRowAtIndexPath 方法中添加:

cell.nextButton.tag = indexPath.row

然后滚动到某个索引,您可以在按下按钮时调用它:

[self.collectionView scrollToItemAtIndexPath:indexPath  atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:YES];

【讨论】:

【参考方案2】:

抱歉来晚了,但今天我正在处理相同的功能。

请使用下面的代码,它正在工作。

1) 在cellForItemAtIndexPath中添加一行。

btnNext.tag = indexPath.item; 

2) 创建method 以滚动到下一个cell

-(IBAction)actionNext:(UIButton *)sender
    if(sender.tag == 0 || sender.tag == nil)
        btnNext.tag = 1;
    
    if(sender.tag > arrImage.count)
        [self.colView scrollToItemAtIndexPath:[NSIndexPath indexPathForRow:arrImage.count-1 inSection:0]  atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
    else
        [self.colView scrollToItemAtIndexPath:[NSIndexPath indexPathForRow:sender.tag inSection:0]  atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
    


如果您有任何问题,请询问我。 :)

【讨论】:

以上是关于仅通过按下按钮滚动 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章

Jquery通过按下按钮向下滚动到每个部分的顶部

如何知道从另一个视图控制器中的 UICollectionViewController 按下了哪个按钮

按下后退按钮时如何保留可滚动区域的滚动位置?

如何在按钮按下时在集合视图中滚动(水平)?

UICollectionView 在按钮按下时无意滚动

按下缩放按钮时如何缩放滚动视图的图像?