Справочная информация:Как ссылаться на контроллер вида из селектора UIPanGestureRecognizer в iOS?
У меня есть объект поляроида на основе MVC. Модель сохраняет метаданные фотографии и изображение. В представлении отображается имя и изображение фотографии (через UIView). Контроллер имеет доступ к модели и представления и координирует операции между ними (например, замирания в модели фото на вид.)
Моя цель:
Я хочу осуществить простым перетаскиванием-и- drop в моей программе, чтобы пользователь мог перетащить взгляд поляриста и viewcontroller в альбом.
Проблема:
Я могу добавить UIPanGestureRecognizer к мнению моего Polaroid в. Однако я не могу получить доступ к viewcontroller или model из метода polaroidPanned.
Добавление UIPanGestureRecognizer:
UIPanGestureRecognizer *panRecogniser = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(polaroidPanned:)];
[polaroidController.polaroidView addGestureRecognizer:panRecogniser];
Вот обработчик UIPanGestureRecognizer:
- (void) polaroidPanned: (UIPanGestureRecognizer *) panGesture
{
CGPoint touchLocation = [panGesture locationInView:self.view];
//While being dragged
if ([panGesture state] == UIGestureRecognizerStateBegan || [panGesture state] == UIGestureRecognizerStateChanged)
{
//update the album view to the touch location
[panGesture view].center = touchLocation;
}
else if ([panGesture state] == UIGestureRecognizerStateEnded && isOntopOfAlbum)
{
//HERE I WANT TO PASS THE VIEW CONTROLLER OF THE [panGesture view] to my album
[album addPolaroidViewController: ????]
}
}
Я могу передать мнение, но я не могу показаться, чтобы иметь возможность ссылаться ViewController представления.
Кто-нибудь знает, как я мог это сделать? Или обойти это?