【发布时间】:2013-09-01 01:48:07
【问题描述】:
我有一个UIScrollView 有几个子视图等等。我也是scrollView的delegate并实现了- (void)scrollViewDidScroll:(UIScrollView *)scrollView。在我的卷轴下面有另一个视图。
如果scrollView的contentOffset在x轴上低于50px,我想显示该视图,“重置”scrollView的contentOffset并取消当前的scrollView手势,以便用户在新视图出现时不会操纵其内容。
我已经实现了这样的方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x < -50)
{
scrollView.contentOffset = CGPointZero;
[self showBackView];
//here I want to cancel the current touch on the scrollview since it keeps scrolling if I drag my finger
}
}
我曾尝试将userInteractionEnabled 属性设置为NO,但只有在触摸结束后才会生效。而且我已经尝试了许多其他属性,但似乎都没有。
我该如何解决这个问题?
【问题讨论】:
-
您是否尝试将
scrollEnabled设置为NO? -
是的,它不起作用。禁用平移手势识别器就可以了。
标签: ios objective-c uiscrollview uiscrollviewdelegate