2013-04-06 3 views
2

У меня есть изображение. я обнаружил касание в виде изображения, подобном этомуКак обнаружить сенсорный конец изображения при перемещении касания

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    int viewTag=[touch view].tag; 

    if ([[touch view] isKindOfClass:[UIImageView class]]) 
    { 
     //My code 
    } 
} 

и касается перемещенного изображения. всякий раз, когда мое прикосновение выходило из режима просмотра изображения в это конкретное время, мне нужно одно предупреждение. как обнаружить это касание от изображения в прикосновениях? ...

ответ

1

Я рекомендую использовать UIPanGestureRecognizer и добавлять его к более крупному супер-представлению изображения, которое вы хотите обнаружить. Таким образом, даже если прикосновение начинается снаружи и перемещается в и из вашего изображения, вы можете следить за движением прикосновения в своем обработчике жестов.

Это довольно просто, сделайте метод под названием handlePan:, например, создайте распознаватель жестов, используя метод обработчика, добавьте его в соответствующий супер-просмотр. Теперь всякий раз, когда жест активен, и прикосновение перемещается, ваш метод обработчика будет вызван, и вы можете проверить, находится ли он внутри вашего изображения.

-1

Вы можете добавить прозрачную UIButton тот же размера в верхней части UIImageView и отслеживать UIControlEventTouchDragOutside

[button addTarget:self action:@selector(draggedOutside:) forControlEvents:UIControlEventTouchDragExit];

0

Вы должны использовать этот метод ...

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    int viewTag=[touch view].tag; 

    if ([[touch view] isKindOfClass:[UIImageView class]]) 
    { 
    //My code 
    } 
    else 
    { 
     //show the alertView here 
    } 
} 

и проверить, что начальный клик был на изображенииView, вы должны установить флаг в методе touchhesBegan ... и проверить его соответствующим образом в touchphonesMoved метод

+0

touchesEnded работает только с изображением, но он хочет прикасаться к обнаруженному движению. – Sudhakar

+0

изменил ответ .. Я думаю, что это то, что он хочет –

+0

спасибо за ваш повтор. Но это не работает. В случае, если условие i установлено NSLog (@ "Touch Moved"); и в другом состоянии NSLog (@ "Touch End") ;. Когда я касаюсь изображения и затрагивает перемещение изображения в это время, журнал «Touch Moved» вызывается и затрагивает перемещение из изображения в то время, и вызывается «Touch Moved» –