我正在开发基于增强现实的iOS应用程序。它假设要做的是用户将通过UISlider
设置他与墙的距离。然后,他将从图库中选择一张图片,看看它在墙上的样子。应用程序应相应地将UIImage
缩放到用户与墙壁的距离,用户可以拖动它以查看它在墙上的外观。
我想在添加的UILongPressGestureRecognizer
上应用UIImage
,以便可以删除它,即点击暂停和删除。
这是我用于导入已存在于我库中的图像的代码我稍后将从库中导入:
self.myImage = [UIImage imageNamed:@"myimage.png"];
self.myImageView = [[UIImageView alloc] initWithImage:self.myImage];
self.myImageView.userInteractionEnabled = YES;
CGRect cellRectangle;
self.myImageView.contentMode = UIViewContentModeScaleAspectFit;
cellRectangle = CGRectMake(0, 0, self.myImage.size.width/5, self.myImage.size.height/5);
对于UILongPressGestureRecognizer
,这是代码:
self.lpgr = [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(handleLongPressGestures:)];
self.lpgr.minimumPressDuration = 2.0; //seconds
self.lpgr.accessibilityFrame = cellRectangle;
[self.customCam addGestureRecognizer:self.lpgr];
其中customCam
是为AR显示摄像机的视图。
- (void)handleLongPressGestures:(UILongPressGestureRecognizer *)sender
{
if ([sender isEqual:self.lpgr]) {
if (sender.state == UIGestureRecognizerStateBegan)
{
CGPoint p = [self.lpgr locationInView:self.myImageView];
NSLog(@"TapLong Run on points %@",NSStringFromCGPoint(p));
}
}
}
此代码存在的问题是它会在UILongPressGestureRecognizer
视图中应用customCam
。
如何限制它保留在myImageView
内。
我也尝试过这样做:
[self.myImageView addGestureRecognizer:self.lpgr];
但是这没有用,我还添加了self.myImageView.userInteractionEnabled = YES;
答案 0 :(得分:0)
您已在自定义视图中添加[self.customCam addGestureRecognizer:self.myImageView];
首先添加图片视图,然后在myImageview中添加self.lpgr。
用此
[self.customCam addGestureRecognizer:self.lpgr];
[myImageView addGestureRecognizer:self.lpgr]
;并尝试