Я получил следующую проблему.
Я подклассую 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 во время анимации.