如何识别哪个按钮点击了哪个部分 UICollectionView iOS?
How to identify the which button clicked on which section UICollectionView iOS?
我有一个 UICollectionView
,它有 2 个部分。每个部分 header 都有一个按钮。我尝试将部分 ID 发送到 prepareForSegue
上的另一个视图控制器,如下所示。
if ([[segue identifier] isEqualToString:@"ManualCapture"]){
NSIndexPath *indexPath = [self.collectionView indexPathForCell:sender];
ManualCapture *vc = [segue destinationViewController];
vc.sectionId = indexPath.section;
}
但它发送 0
作为部分 ID。有什么可能的方法来获取部分 id 吗?如何根据按钮点击发送 sectionId。基本上我想做的是,当我单击第 1 部分中的按钮时,在 prepareForSegue
上应该发送 0,如果我单击第 2 部分中的按钮,在 prepareForSegue
上应该发送 1。如何我这样做?
提前致谢!
你可以这样做:
在集合视图委托方法中
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath{
NSString *tagStr = [NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
yourButton.tag = [tagStr intValue];
}
然后当你想检查它访问的是哪个部分或索引时,可以通过它的标签访问它,如下所示:
UIButton *temp = (UIButton *)sender;
NSString *tempStr = [NSString stringWithFormat:@"%d",temp.tag];
然后比较一下。
我有一个 UICollectionView
,它有 2 个部分。每个部分 header 都有一个按钮。我尝试将部分 ID 发送到 prepareForSegue
上的另一个视图控制器,如下所示。
if ([[segue identifier] isEqualToString:@"ManualCapture"]){
NSIndexPath *indexPath = [self.collectionView indexPathForCell:sender];
ManualCapture *vc = [segue destinationViewController];
vc.sectionId = indexPath.section;
}
但它发送 0
作为部分 ID。有什么可能的方法来获取部分 id 吗?如何根据按钮点击发送 sectionId。基本上我想做的是,当我单击第 1 部分中的按钮时,在 prepareForSegue
上应该发送 0,如果我单击第 2 部分中的按钮,在 prepareForSegue
上应该发送 1。如何我这样做?
提前致谢!
你可以这样做: 在集合视图委托方法中
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath{
NSString *tagStr = [NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
yourButton.tag = [tagStr intValue];
}
然后当你想检查它访问的是哪个部分或索引时,可以通过它的标签访问它,如下所示:
UIButton *temp = (UIButton *)sender;
NSString *tempStr = [NSString stringWithFormat:@"%d",temp.tag];
然后比较一下。