Получить текущую позицию анимированного ScrollView

Я получил следующую проблему.

Я подклассую UIScrollView, какой ContendOffset загрузите этот код:

[UIView animateWithDuration:1.0 
                      delay:1.0
                    options:options
                 animations:^{
                     self.contentOffset = CGPointMake(label.frame.size.width, 0);

                 }
                 completion:^(BOOL completed) {
                     //some other stuff
                 }];

Теперь, когда пользователь «Willbegindgingging» ScrollView, я хочу остановить текущую анимацию и установить ScrollView.ContentOffset в текущую позицию в текущем положении Уаанимация.

Например, пользователь попадает в экран, после 1 секунды вид прокрутки начинает прокручивать, если пользователь касается прокрутки через 2 секунды и перетащите его, ScrollView.contentOffset должен иметь точное положение текущей позиции анимации.

Если я получаю значение компенсации содержимого в методе WillbegIndrag, он уже как последнее значение анимации, так как Uianimation устанавливает значения в конечное состояние, а затем анимация.

Как получить текущую позицию компенсации контента из бегущей анимации?

NSLog(@"pos of content x %f, y %f", [[self.layer presentationLayer] frame].origin.x, [[self.layer presentationLayer] frame].origin.y);

Я читал о слое презентации, но сам вид не анимирован, мне нужен ScrollView.contentOffset.

МХХ, любые идеи? THX

уже решено:

Self.Layer Presentationlayer является абсолютно правильным.

Но мне пришлось использовать границы, а не рамку ....

Извините, теперь вы и знаете это: P

, поэтому правильный код:

CGPoint pos = [[self.layer presentationLayer] bounds].origin;

, чтобы получить текущую позицию Анимированный ScrollView во время анимации.

14
задан philipp 8 September 2011 в 11:11
поделиться