Как обнаружить касание (CGPoint) представления прокрутки по размеру его содержимого в iPhone? - PullRequest
1 голос
/ 15 октября 2010

Я хочу обнаружить касание (CGPoint) представления прокрутки по размеру его содержимого. Если я обнаруживаю прикосновение в прокрутке, я получаю CGPoint только со ссылкой на рамку просмотра прокрутки, но я хочу положение со ссылкой на размер содержимого.

Вот мой код

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch* t;
NSLog(@"inside touches began");
if([[event allTouches] count]==1){
    t=[[[event allTouches] allObjects] objectAtIndex:0];
    p1=[t locationInView:scroll];
}

Моя рамка просмотра с прокруткой (0,0 320,460) и размер контента (320,800);

Если я прокручиваю свое представление и касаюсь его снизу, полученное значение CGPoint равно 450, но я хочу получить 750 (со ссылкой на размер содержимого).

Ответы [ 2 ]

1 голос
/ 16 октября 2010

Я думаю, что вы хотите

CGPoint touchInScrollView = [theUITouch locationInView:theScrollView];

Если я правильно читаю свой код. :)

0 голосов
/ 15 октября 2010

Может быть, вы можете использовать contentOffset из UIScrollView для вычисления правильной точки?

CGPoint realPoint = CGPointMake( scrollView.contentOffset.x + p1.x, scrollView.contentOffset.y + p1.y );
...