我正在使用UICollectionView
生成图片库。我在UIImage
单元格内使用了UICollectionView
来加载图片。我需要选择UICollectionView
Cell by Long按(不是单击)。
- (IBAction)longPress:(UILongPressGestureRecognizer *)gestureRecognizer
{
UICollectionViewCell *cell=(UICollectionViewCell *)[gestureRecognizer view];
int index=cell.tag;
OverlayImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];
OverlayImage.image = [UIImage imageNamed:@"Overlay@2x.png"];
[cell addSubview:OverlayImage];
}
答案 0 :(得分:7)
更新了it
的回答{
let longPressGR = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress(longPressGR:)))
longPressGR.minimumPressDuration = 0.5
longPressGR.delaysTouchesBegan = true
self.collectionView.addGestureRecognizer(longPressGR)
}
@objc
func handleLongPress(longPressGR: UILongPressGestureRecognizer) {
if longPressGR.state != .ended {
return
}
let point = longPressGR.location(in: self.collectionView)
let indexPath = self.collectionView.indexPathForItem(at: point)
if let indexPath = indexPath {
var cell = self.collectionView.cellForItem(at: indexPath)
print(indexPath.row)
} else {
print("Could not find index path")
}
}
答案 1 :(得分:0)
您可以使用LongPressGesture
UILongPressGestureRecognizer *longpressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)];
longpressGesture.minimumPressDuration = 5;
[longpressGesture setDelegate:self];
[self.yourImage addGestureRecognizer:longpressGesture];
- (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer {
NSLog(@"longPressHandler");
UIImageView *tempImage=(UIImageView*)[gestureRecognizer view];
}