Let*_*rez 20 iphone scroll uiscrollview ipad ios
我有一个UIScrollView,我希望它能够向两个方向滚动(它目前都有),但一次只能滚动一个.因此,例如,如果您开始水平滚动它,它将不会垂直移动,直到您放开并开始垂直移动它.我怎么能这样做?
Sco*_*ets 55
将directionalLockEnabled属性设置为YES.来自Apple文档:
如果此属性为NO,则允许在水平和垂直方向上滚动.如果此属性为YES并且用户开始沿一个大致方向(水平或垂直)拖动,则滚动视图将禁用向另一个方向滚动.如果拖动方向是对角线,则滚动将不会被锁定,并且用户可以向任何方向拖动,直到拖动完成.默认值为NO
这个问题的公认答案并不完全正确.根据当前的文件directionalLockEnabled(如原始答案中引用):
如果拖动方向是对角线,则滚动将不会被锁定,并且用户可以向任何方向拖动,直到拖动完成.
我自己也发现了这种情况.如果初始拖动方向更接近x轴和y轴之间的45度角,则方向锁定失败.如果您在水平或垂直方向上或多或少地拖动,则会激活锁定.
有关实现真正单轴锁定的一种方法,请参阅此链接:http: //bogdanconstantinescu.com/blog/proper-direction-lock-for-uiscrollview.html
| 归档时间: |
|
| 查看次数: |
14741 次 |
| 最近记录: |