2012-01-27 76 views
1

我有一个带有核心图图视图的子视图的滚动视图。它不经常变焦。如果我们在滚动视图后缩放滚动视图,它将会变焦。带有coreplot图的子视图的UIScrollView不经常缩放

每次委托方法 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView将被调用,但调用委托方法的机会 - (void)scrollViewDidZoom:(UIScrollView *)scrollView非常少。

这种行为的原因是什么?

[consumptionGraphView_ addSubview:graphPlottedView_]; 
[graphPlottedView_ setContentScaleFactor:consumptionGraphView_.contentScaleFactor]; 

consumptionGraphView_.contentSize = consumptionGraphView_.frame.size; 
consumptionGraphView_.minimumZoomScale = 1.0; 
consumptionGraphView_.maximumZoomScale = 10.0; 
consumptionGraphView_.zoomScale = 0.1; 

回答

2

问题出在CorePlot的GraphHostingView中存在UIGestureRecognizers。

 for (UIGestureRecognizer * recognizer in hostingView.gestureRecognizers) { 
     [hostingView removeGestureRecognizer:recognizer]; 
    } 

此代码将删除UIGestureRecognizers,并且图形缩放是完美的。

+1

在托管视图中设置'allowPinchScaling' = NO以自动完成此操作。 – 2012-02-08 03:28:26