问题描述
您如何强制取消 UIScrollView 上的缩放打开捏合手势,例如当用户"足够"缩放以触发新操作时?
推荐答案
为了防止用户控制器缩放和平移但仍允许程序化缩放和平移滚动视图,最好的方法是覆盖 UIScrollView's -addGestureRecognizer: 子类中的方法.
-(void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer { //Prevent any of the default panning and zooming controls from working gestureRecognizer.enabled = NO; [super addGestureRecognizer:gestureRecognizer]; return; }
每个手势识别器都被禁用,为了更好地控制(例如,允许平移控制但只允许通过双击进行缩放),您只需通过 -isKindOfClass: 检查传入的手势识别器并酌情禁用.
-(void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer { //Prevent zooming but not panning if ([gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]]) { gestureRecognizer.enabled = NO; } [super addGestureRecognizer:gestureRecognizer]; return; }
希望这会有所帮助.
相关问答
相关标签/搜索