【问题标题】:Stop deceleration of UIScrollView停止 UIScrollView 的减速
【发布时间】:2011-01-03 12:27:37
【问题描述】:

在 iPhone 3.0 中立即停止 UIScrollView 减速的最佳方法是什么?

我想保持 UIScrollView 的减速,直到它自然停止或用户执行某个操作,无论先发生什么。

谢谢!

【问题讨论】:

  • 嗨,你确定你想要这样的东西吗?这样的应用行为肯定会被苹果拒绝。
  • 你的意思是在用户轻弹滚动视图并且它正在滚动之后,你想要停止视图滚动以响应其他内容,就好像用户将手指放在它上面停止一样是吗?
  • 亨里克:是的。在我需要它的情况下,它不应该导致拒绝。
  • 尼姆罗德:是的。基本上我想在用户按下使界面发生变化的按钮时停止减速。

标签: iphone iphone-sdk-3.0 uiscrollview acceleration


【解决方案1】:

提出未经测试的建议:)

当按钮点击事件被捕获时,你会读取 [scrollView contentOffset].x 是什么,并在动画关闭的情况下将偏移量设置为该值。

【讨论】:

  • 它可以工作,而且似乎是一种非 hacky 的方式。但是,由于某种未知原因,它使滚动指示器在错误的位置闪烁。下面的代码停止了减速,也避免了前面提到的视觉效果: myScrollView.showsHorizo​​ntalScrollIndicator = NO; myScrollView.showsVerticalScrollIndicator = NO; [myScrollView setContentOffset:myScrollView.contentOffset 动画:NO]; myScrollView.showsHorizo​​ntalScrollIndicator = YES; myScrollView.showsVerticalScrollIndicator = YES;丑陋的代码。
  • 很高兴它起作用了:) “滚动指示器在错误的位置闪烁”是否意味着滚动条不在右侧和底部?我认为你有 [scrollView setPagingEnabled:YES];并且这可能会使 scrollView 有点困惑。 ScrollView :“设置显示滚动到下一页并在坐标 x 和 y 处绘制滚动条”您:“停止您正在做的事情,自己弄清楚在哪里绘制滚动条!”。我刚刚做了类似的事情,我制作了一个每 80 像素捕捉一次的滚动视图,但我使用了动画:是的,这可能会给它更多的时间来调整?
  • [scrollView setContentOffset:offset animated:NO] 在 iOS 4.2 中适用于我。
猜你喜欢
  • 2010-11-09
  • 2012-05-10
  • 1970-01-01
  • 2013-08-26
  • 2013-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多