Mam poziomy UIScrollView. Chcę wykonać wariację animacji "przeciągnij, aby zresetować", w której pociągam całą drogę poza prawą krawędź rozmiaru treści widoku przewijania, puść palec i widok przewijania wraca do (0, 0) Przesunięcie treści.Anuluj UIScrollView bounce po przeciągnięciu
Moja metoda delegat wygląda następująco:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
//check if it exceeds a certain critical value
if (scrollView.contentOffset.x - (scrollView.contentSize.width - IMAGE_WIDTH) > 80) {
[self doAnimatedScrollTo:CGPointMake(0, 0)];
}
}
gdzie doAnimatedScrollTo:
jest zwyczaj metoda animacji konieczne, ponieważ chcę kontrolować czas trwania animacji.
Podczas tej czynności wydaje się, że animacja jest ustawiona w kolejce. Najpierw nastąpi animacja "Odbijanie" UIScrollView, a następnie pojawia się animacja.
Czy istnieje sposób na anulowanie animacji odskoku, utrzymanie przesunięcia treści z "przyciągania" z powrotem, a następnie wykonać moją animację?
Czy próbowałeś odznaczać właściwość odskoku na atrybucie i nspector? – jcesarmobile
@jcesar nope, ponieważ chcę jawnie użyć właściwości Odbijanie. Po prostu nie chcę, aby druga połowa animacji została wykonana - tj. "odbijaj się". – 1actobacillus
Wtedy nie sądzę, że to możliwe. Jeśli używasz odbicia, musisz użyć pełnego odbicia. Może jeśli utworzysz podklasę, możesz zmienić pełną animację – jcesarmobile