Я разрабатываю приложение iOS, основанное на дополненной реальности. Предполагается, что пользователь установит свое расстояние от стены до UISlider
. Затем он выберет фотографию из галереи и посмотрит, как она будет выглядеть на стене. Приложение должно масштабировать UIImage
в соответствии с расстоянием от пользователя от стены, и пользователь может перетащить его, чтобы посмотреть, как он выглядит на стене.UILongPressGestureRecognizer привязана только применительно к UIImageView
Я хочу применить 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;
[self.customCam addGestureRecognizer: self.lpgr]; вы добавили здесь, сохраните этот self.myImageView – Balu
@Balu Я пробовал этот, но он ничего не делал. Это никогда не доходило до функции «handleLongPressGestures», если условие! Но на customCam он делает. –
Что я думаю о том, чтобы установить другое условие, что если координаты жеста находятся в координатах UIImageView, то он выполнит действие. Так вы можете мне помочь? –