ContinueTrackingWithTouch: withEvent: метод не вызывается? - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть пользовательский класс UIView. Внутри этого вида есть изображение. (Я делаю UISlider с нуля).

Я пытаюсь заставить вид изображения - большой палец ползунка - перемещаться по виду. Ниже приведен код из класса UIView

- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {

    CGPoint touchPoint = [touch locationInView:self];


    if ( CGRectContainsPoint(self.thumb.frame, touchPoint))

        self.thumb.center = CGPointMake(touchPoint.x, self.thumb.center.y);

    return YES;

}

Когда я кладу палец на ползунок и пытаюсь его перетащить, ничего не происходит. Однако, когда я касаюсь большого пальца ползунка, перетаскивая палец на большой палец, не отпуская его, а затем попробуйте перетащить большой палец, он работает нормально.

Как я могу изменить свой код, чтобы метод вызывался, когда кто-то держит большой палец и пытается его перетащить?

1 Ответ

0 голосов
/ 19 ноября 2011

Я предполагаю, что у вас включено взаимодействие с пользователем в представлении изображения, которое, в свою очередь, не передает события касания в представление вспомогательной логики.Сделайте что-то вроде этого:

self.thumb.userInteractionEnabled = NO

Поместите это в любой метод инициализации, который вы используете, и просмотр большого пальца больше не будет прерывать сенсорные события.

...