Итак, я пытаюсь реализовать перетаскивание с помощью эскизов изображений, полученных с использованием ALAssets Framework.Получение объекта UIImageView для отображения при перетаскивании (с помощью UILongPressGestureRecognizer)
Я могу заставить долгожданный жест работать правильно (его определенно перемещение что-то вокруг на основе какого-то теста NSLog
), но не может для меня жизнь выяснить, как на самом деле отображать уменьшенное изображение и перетащить его вокруг в главном окне. Обратите внимание, что _dNewImageView
был добавлен IBOutlet
к контроллеру вида. Я пытаюсь вывести представление вперед с помощью метода bringSubviewToFront: однако его работа не работает должным образом. Любая помощь будет оценена!
Вот функция для обработки длинный пресс жест:
-(void)longGestureRecognized:(UILongPressGestureRecognizer *)gestureRecognizer{
gestureRecognizer.delaysTouchesBegan = YES;
CGPoint newPoint = [gestureRecognizer locationInView:self.collectionView];
switch (gestureRecognizer.state) {
case UIGestureRecognizerStateBegan:
dIndexPath = [self.collectionView indexPathForItemAtPoint:newPoint];
if (dIndexPath == nil){
NSLog(@"Couldn't find index path");
}
dCell = (SKPhotoCell *)[self.collectionView cellForItemAtIndexPath:dIndexPath];
dImage = [UIImage imageWithCGImage:[dCell.asset thumbnail]];
_dNewImageView = [[UIImageView alloc] initWithImage:dImage];
[_dNewImageView setUserInteractionEnabled:YES];
[[self view] bringSubviewToFront:_dNewImageView];
break;
case UIGestureRecognizerStateChanged:
[_dNewImageView setCenter:newPoint];
break;
case UIGestureRecognizerStateEnded:
break;
}
}
Спасибо за помощь! Все работает за исключением [gestureRecognizer setTranslation: CGPointZero inView: gestureRecognizer.view]; , который дает показания об ошибке: Нет видимых @interface для «UILongPressGestureRecognizer» заявляет селектор «setTranslation: INview:» Я попытался добавить UILongPressGestureRecognizer в качестве делегата, но это не является действительным. – gsheld
Убедитесь, что ваш @interface включает в себя –
oneiric
К сожалению, я тоже это пробовал. Ошибка не меняется. – gsheld