Как я могу получить событие touchesBegan на SuperView - PullRequest
0 голосов
/ 26 сентября 2011

В моей программе есть два вида (scrollView-super, view-sub * 2).

В моем случае два подпредставления просматриваются в scrollView. Событие touchesBegan вызывается в подпредставлениях.

Как я могу получить событие в scrollView ???

@interface MyScrollView:UIScrollView
...
@implement MyScrollView
...
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //here is my code
    //but I can't get event here
   ...
}
-(id)initWithFrame:(CGRect) frame
{
...
    MyView *view1 = [[MyView alloc] initWithFrame:(0, 0, 320, 240);
    MyView *view2 = [[Myview alloc] initWithFrame:(0, 240, 320,240);
    [self addSubview: view1];
    [self addSibvoew: view2];
...
}

@interface MyView:UIView
...
@implement MyScrollView
...
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   //break points 
   //here comes event
}

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Попробуйте этот код ..

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)];

[scroll addGestureRecognizer:singleTap];

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)touch{
    CGPoint touchPoint=[gesture locationInView:scrollView]; 
    touchPoint = [touch locationInView:self.view];  
}
0 голосов
/ 26 сентября 2011

Я предлагаю сделать ваши два подпредставления глобальными, а затем в методе superview touchesbegan передать касания и событие подпредставлениям для обработки. Так что-то вроде [view1 touchesBegan: трогает событие: событие]; я не проверял это, но это должно быть одним из способов.

...