Как передать сенсорное событие другому объекту? - PullRequest
0 голосов
/ 20 февраля 2012

Я ссылался на приложения "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;
}

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Попробуйте переопределить - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event.

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

0 голосов
/ 20 февраля 2012

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

...