私は UIScrollView を持っていて、両方の方向にスクロールできるようにしたい (現在はそうです) が、一度に 1 つずつしかスクロールできません。したがって、たとえば、水平方向にスクロールを開始すると、指を離して垂直方向に移動し始めるまで、垂直方向にはまったく移動しません。どうすればこれを行うことができますか?
16328 次
4 に答える
62
directionalLockEnabled
プロパティを YES に設定します。アップルのドキュメントから:
このプロパティが NO の場合、スクロールは水平方向と垂直方向の両方で許可されます。このプロパティが YES で、ユーザーが 1 つの一般的な方向 (水平または垂直) にドラッグを開始した場合、スクロール ビューは他の方向へのスクロールを無効にします。ドラッグ方向が斜めの場合、スクロールはロックされず、ユーザーはドラッグが完了するまで任意の方向にドラッグできます。デフォルト値は NO です
于 2012-06-12T17:46:19.940 に答える
2
これを実現する簡単な方法は、このように UIScrollerView デリゲートを設定して実装することdirectionalLockEnabled
ですYES
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.x != 0 &&
scrollView.contentOffset.y != 0) {
scrollView.contentOffset = CGPointMake(0, 0);
}
}
于 2016-03-25T10:36:30.107 に答える