我有一个可以水平滚动的UIScrollView。但是,我希望在满足特定条件之前禁用右滚动。实现这一目标的最简洁方法是什么?
谢谢!
答案 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;
}
}