[英]GestureRecogniser and disabling drag gesture of a UIView in a UIScrollView
最近我遇到了问题。 如何禁用UIScrollView的特定区域中的滚动,尤其是UIView或子视图占用的区域。 我已经了解了很多关于子类化和其他长方法来解决这个问题。 但最近我在没有子类化的情况下以简单的方式解决了这个问题:
UIPanGestureRecognizer *panrecognizer = [[UIPanGestureRecognizer alloc] init];
接着
[panrecognizer setCancelsTouchesinView:NO];
[mySubViewInScroll addGestureRecognizer:panrecognizer];
我创建了UIPanGestureRecognizer而没有传递给它的Action,然后将识别器添加到滚动条中的视图。 以这种方式,视图上的手势将被捕获,但明确地不由视图或超级视图处理,因为我们传递给对象没有Action。 问题是这个。 这是处理此类问题的正确方法,还是最好不要这样做。 我的意思是Apple会用这种方法接受这种应用吗?
尝试重写ScrollView的
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
返回chi
实际上我认为,即使不是最好的也是最实用的解决方案。因为乱搞类和子类只能实现屏幕的部分滚动锁定似乎很奇怪。 那么让我们看看Apple是否会接受这种解决方案......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.