2012-02-20 3 views
0

Я ссылался на приложения под названием «Comic Strip» и «Balloon Stickies Free»Как передать событие касания другому объекту?

Когда я добавляю речевой шар и нажимаю хвост s.b или s.b, он работает. Но когда я касаюсь хвоста вокруг или между хвостом s.b и s.b, он не работает. И фото получает прикосновение и работает ниже s.b.

Так я пытался использовать hitTest:withEvent.

Это работает, когда я потрогать прямоугольник или tailRect первый раз. Но когда я касаюсь другого места в объекте, и я снова коснусь прямоугольника или tailRect, он не работает.

Как изменить этот код? я не знаю .. помогите мне, пожалуйста

- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    UIView *hitView = [super hitTest:point withEvent:event]; 

    if(CGRectContainsPoint(rectangle, currentPt)==YES || CGRectContainsPoint(tailRect, currentPt)==YES) 
     return hitView; 
    else 
     return nil; 
} 

ответ

1

Попробуйте перекрывая - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event вместо этого.

Или взгляните на Ole Begemann's OBShapedButton. Код можно легко изменить для работы с UIView вместо UIButton.

0

См. Это сообщение horizontal scrolling. Используя этот код, вы можете получить все события касания в одном классе UIWindow. Вы должны написать некоторый код, чтобы передать управление соответствующим образом.

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