UIScrollView: в чем разница между contentOffset и bounds.origin? - PullRequest
4 голосов
/ 24 декабря 2011

Я реализовал делегат UIScrollView следующим образом:

- (void) scrollViewDidScroll: (UIScrollView *) scrollView {
    CGRect bounds = scrollView.bounds ; 
    CGPoint scrollLoc = scrollView.contentOffset ;

    NSLog(@"bounds: %@ offset:%@"
        ,   NSStringFromCGRect(bounds)
        ,   NSStringFromCGPoint(scrollLoc)) ;
}

И что бы я ни делал, прокручивая или поворачивая устройство, кажется, что contentOffset и bounds.origin всегда одинаковы.

Зачем нам нужен contentOffset, если он совпадает с источником границ, или как обстоит дело, когда оба на самом деле различны?

Ответы [ 3 ]

8 голосов
/ 25 декабря 2011

Согласно документам :

Свойство contentOffset всегда является текущим местоположением верхнего левого угла границ прокрутки, независимо от того, выполняется прокрутка или нет.

1 голос
/ 24 декабря 2011

Представление находится в одном и том же месте в обоих случаях, но содержимое может быть перемещено в представлении, если вы используете ContentOffset.

Полезную информацию вы найдете в эпизоде ​​9. Представление изображения ... изсерия Стэндфордского университета:

http://itunes.apple.com/fr/itunes-u/developing-apps-for-ios-hd/id395605774

0 голосов
/ 24 декабря 2011

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

...