如何模拟iOS上的触摸

时间:2016-04-12 10:22:16

标签: ios objective-c touch simulate

我想知道是否有任何方法可以让我在iOS上模拟触摸/点击/压力(根据需要调用它)。 我不知道我是否有关于此的内容......除了我用Objective-c进行编码。

预先感谢每一位帮助!

编辑: 这是允许我使用我选择的案例坐标的方法(它在日志中显示):

- (void)collectionViewTableLayoutManager:(DRCollectionViewTableLayoutManager *)manager collectionView:(UICollectionView *)collectionView didSelectCellAtRow:(NSUInteger)row column:(NSUInteger)column indexPath:(NSIndexPath *)indexPath
{
    NSLog(@"SELECTED: %ld.%ld / %ld.%ld", (long)indexPath.section, (long)indexPath.row, (long)row, (long)column); 
}

这是我处理postIt的dragNdrop的方法(请参阅注释以获取更多信息):

-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:self];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);

//Here to know the coordinates of the drop
if(recognizer.state == UIGestureRecognizerStateEnded){        
    CGPoint centerPointOfView = [recognizer locationInView:self.superview];
    NSLog(@"X - %f, Y - %f",centerPointOfView.x,centerPointOfView.y);
}

[recognizer setTranslation:CGPointMake(0, 0) inView:self];
}

1 个答案:

答案 0 :(得分:0)

所以这就是我解决问题的方法。最初,处理postIt的dragNdrop的方法在postIt.m中。所以我把它移到了我的viewController.m中。现在,通过这种方法,我可以获取viewController的CollectionView并“模拟”一次点击。

以下是我的新方法的样子:

-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);

//the coordinates of the drop
if(recognizer.state == UIGestureRecognizerStateEnded){
    CGPoint centerPointOfView = [recognizer locationInView:self.view];
    NSLog(@"X - %f, Y - %f",centerPointOfView.x,centerPointOfView.y);

    //Here is how I pick up the cell where the post it has been dropped
    [_collectionView cellForItemAtIndexPath:[_collectionView indexPathForItemAtPoint:centerPointOfView]];

    NSIndexPath *indexPath =[_collectionView indexPathForItemAtPoint:centerPointOfView];

//some log tests
    NSLog(@"SELECTED: %ld.%ld ", (long)indexPath.section, (long)indexPath.row);
}


[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}