我尝试从左到右自动滚动但我还没有成功。 我正在评估以下表达式来改变方向(添加或减少像素),但当滚动到达最终时它被阻止...
(xContentSize - xOffset) >= CGRectGetWidth(_scroll.bounds)
或
(xContentSize - xOffset) > CGRectGetWidth(_scroll.bounds)
有什么想法吗?
答案 0 :(得分:4)
试试这个:
float w = scrollView.frame.size.width;
float h = scrollView.frame.size.height;
float newPosition = scrollView.contentOffset.x+w;
CGRect toVisible = CGRectMake(newPosition, 0, w, h);
[scrollView scrollRectToVisible:toVisible animated:YES];
手动设置您想要的位置
答案 1 :(得分:0)
最后,我得到了解决方案。
每隔4.0秒使用NSTimer
[UIView animateWithDuration:3.0
animations:^{
if (_direction == 0) {
_scroll.contentOffset = CGPointMake((_scroll.contentSize.width - CGRectGetWidth(_scroll.frame)), 0.0);
}else{
_scroll.contentOffset = CGPointMake(0.0, 0.0);
}
} completion:^(BOOL finished) {
_direction = !_direction;
}];
答案 2 :(得分:0)
快捷键4 -向右滚动70px,然后向左滚动(用于向用户提示UIScrollView
上有分页符
UIView.animate(withDuration: 0.4, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [.curveEaseInOut, .allowUserInteraction, .autoreverse], animations: {
self.scrollView.contentOffset.x += 70
}) { [unowned self] _ in
self.scrollView.contentOffset.x = 0
}