0

Вот идея о том, что я пытаюсь выполнить, как если бы это были слои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 никогда не вызван. Любые идеи? Спасибо!

+0

Оба пользователя 'UIImageView' userInteractionEnabled? –

+0

Ох ... только в штыре. Подождите, позвольте мне попробовать. – TooManyEduardos

+0

Вы можете ввести это как ответ, чтобы я мог отметить его. Это была моя ошибка, у меня было только 1 вид включен. благодаря – TooManyEduardos

ответ

0

UIImageView s не взаимодействие с пользователем по умолчанию включена, так что вы должны включить взаимодействие с пользователем для как штифт UIImageView и его SuperView UIImageView для того, чтобы этот жест, чтобы быть признанным.

Смежные вопросы