Вот идея о том, что я пытаюсь выполнить, как если бы это были слоиUIPanGestureRecognizer для UIImageView внутри UIImageView внутри UIScrollView
(TOP) - Аннотация Pin (30 х 30 пикселей) Это UIImageView. - UIViewImage с изображением - UIScrollView
Идея заключается в том, что вы можете нажать на кнопку в окне новый штифт появляется изображение в центре экрана, но вы хотите, чтобы изменить эту булавку, где это имеет смысл чтобы показать область изображения. Кроме того, дополнительные контакты будут помещены в центр экрана, если вы снова нажмете кнопку булавки, оставив первый контакт, куда вы его уже перенесли.
Я могу добавить UIPanGestureRecognizer в небольшое приложение только с UIViewImage, но как только это представление находится внутри представления и внутри uiscrollview, оно не работает.
Вот мой файл декларации, будучи только делегат для UIScrollView:
#import <UIKit/UIKit.h>
@interface ImageAnnotationVC : UIViewController <UIScrollViewDelegate>
{
UIPanGestureRecognizer *panRecognizer;
}
Вот как мой Scrollview становится инициализирован:
- (void)viewDidLoad
{
[super viewDidLoad];
imageView_image.image = originalImage;
scrollView.contentSize = originalImage.size;
scrollView.delegate = self;
scrollView.minimumZoomScale = 1.0;
scrollView.maximumZoomScale = 100.0;
}
Вот как будет создаваться ниппель и воспитывался в экран:
- (IBAction)button_addAnnotation:(id)sender
{
UIImageView *annotationImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];
[annotationImage setCenter:CGPointMake(imageView_image.bounds.size.width/2, imageView_image.bounds.size.height/2)];
panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)];
[annotationImage addGestureRecognizer:panRecognizer];
[imageView_image addSubview:annotationImage];
}
И вот целевой метод:
- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
NSLog("In handlePan");
}
Проблема в том, что handlePan никогда не вызван. Любые идеи? Спасибо!
Оба пользователя 'UIImageView' userInteractionEnabled? –
Ох ... только в штыре. Подождите, позвольте мне попробовать. – TooManyEduardos
Вы можете ввести это как ответ, чтобы я мог отметить его. Это была моя ошибка, у меня было только 1 вид включен. благодаря – TooManyEduardos