Mar*_*fer 38 iphone cocoa-touch uiscrollview iphone-sdk-3.0
有没有办法停用UIScrollView的减速?
我想允许用户滚动画布,但我不希望画布在用户抬起手指后继续滚动.
Mar*_*ark 67
这可以通过使用UIScrollView委托方法scrollViewWillBeginDecelerating自动将内容偏移设置为当前屏幕位置来完成.
实施:
UIScrollView如果您尚未这样做,请为您的对象分配一个委托.在您的委托的.m实现文件中,添加以下代码行:
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
[scrollView setContentOffset:scrollView.contentOffset animated:YES];
}
Run Code Online (Sandbox Code Playgroud)瞧!不再自动滚动.
Quo*_*ion 38
对于iOS 5.0或更高版本,有一种比调用更好的方法setContentOffset:animated:.
scrollViewWillEndDragging:withVelocity:targetContentOffset:在您的.m文件中实现委托方法:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity
targetContentOffset:(inout CGPoint *)targetContentOffset {
*targetContentOffset = scrollView.contentOffset;
}
Run Code Online (Sandbox Code Playgroud)
分配当前偏移量可以targetContentOffset停止UIScrollView自动滚动.
Dan*_*enc 21
你可以把减速率调得很高.无限速率,它会立即停止.尝试将速率设置为这些常量:
scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
Run Code Online (Sandbox Code Playgroud)
和
scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
Run Code Online (Sandbox Code Playgroud)
如果快速仍然不够快,UIScrollViewDecelerationRateFast只是作为一个浮点数类型定义,所以你可以将它乘以10倍左右,以加快它的速度.
| 归档时间: |
|
| 查看次数: |
29116 次 |
| 最近记录: |