防止右滚动uiscrollview

时间:2014-10-23 17:31:52

标签: ios uiscrollview

我有一个可以水平滚动的UIScrollView。但是,我希望在满足特定条件之前禁用右滚动。实现这一目标的最简洁方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

scrollViewDidScroll代表中实施UIScrollView

- (void)scrollViewDidScroll:(UIScrollView *)scrollview {
  CGPoint contentOffset = scrollview.contentOffset;
  if (!yourCondition && contentOffset.x > 0) {
    contentOffset.x = 0;
    scrollview.contentOffset = contentOffset;
  }
}

或者,您可以添加观察者forKeyPath:@"bounds" options:NSKeyValueObservingOptionNew并在那里处理UIScrollView边界更改。

您还可以添加:

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollview withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
  if (!yourCondition && targetContentOffset->x > 0) {
    targetContentOffset->x = 0;
  }
}