我遇到了一些麻烦,让UIScrollView
同时展示了滚动和缩放。我的班级(哪些子班级UIScrollView
)有一个UIView
作为子视图,在这个子视图中我使用CALayer
。一旦应用程序启动,我就可以滚动视图,但只要我使用捏合手势进行缩放,滚动功能就会停止工作,只有缩放才能工作。我的代码:
bpmGraphView = [[UIView alloc] init];
//--- configure the scroll-view and add the graph-view as a subview
[self setZoomScale:1.0];
[self setContentSize:CGSizeMake(1000.0, 169.0)];
[self setMultipleTouchEnabled:YES];
[self setScrollEnabled:YES];
self.maximumZoomScale = 20.0;
self.minimumZoomScale = 0.05;
self.clipsToBounds = YES;
self.delegate = self; //--- set the scroll-view delegate to self
[self addSubview:bpmGraphView];
委托方法:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [self bpmGraphView];
}
有什么想法吗?
修改
某些尺寸:我的UIScrollView
为320x169,位于屏幕左边缘右侧7个像素处。它内部的(可滚动的)UIView
应该具有相同的高度,但是从UIScrollView
的左边开始30像素,并且在远到右边的某个地方结束 - 1000只是一个测试数字。我添加到UIView
的子图层应该具有与其超级视图相同的大小和位置。
我将使用适当的框架初始化UIView
,并报告应用程序行为的任何变化。
答案 0 :(得分:1)
初看起来我只是注意到一个很大的 ContentSize宽度和一个小的高度 ...你确定你需要1000 x(只)169吗?
bpmGraphView的维度是什么?
为什么不用尺寸初始化 bpmGraphView?这是一个 UIView ,您应该使用 initWithFrame:来初始化它,而不仅仅是 init 。
并且:给我们 UIScrollView 的维度,您给我们的唯一维度是 UIScrollView.contentSize ......
答案 1 :(得分:1)
参考这个苹果示例代码,它包含有关scrollview的所有内容 http://developer.apple.com/library/ios/#samplecode/ScrollViewSuite/Introduction/Intro.html