7

編集:私はuiscrollviewを含むコントローラーを持っています。そのscrollviewには、uiviewから継承された個別のクラスを持つカスタムuiviewが含まれています。そのuiviewには、サブビューとしてuiimageviewがあります。いいえ、メインコントローラーで「(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView」を使用しています。しかし、scrollviewをズームしても、そのメソッドは起動しませんでした。このメソッドが呼び出されるようにするにはどうすればよいですか。

UIView *DrawingPlusImageView = [[UIView alloc]initWithFrame:CGRectMake((i*IMAGEVIEW_IPAD_LAND_X+112), 0, 800, 600)];

    IDDrawingView *drawView = [[IDDrawingView alloc]initWithFrame:CGRectMake(0, 0, 800, 600)];

    UIImageView* imgViewLand = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 800, 600)];
    [imgViewLand setImage:[UIImage imageNamed:@"noFileSelected.png"]];
    [drawView setImageToDraw:imgViewLand.image];
    //        drawView.delegate = self;
    [drawView setCurrentSlidId:hmslide.strSlideID];
    [DrawingPlusImageView addSubview:imgViewLand];
    [DrawingPlusImageView addSubview:drawView];


    [scrollViewPresentation addSubview:DrawingPlusImageView];
    drawView.userInteractionEnabled = YES;

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView {
// Return the view that we want to zoom

return  [self.scrollViewPresentation.subviews objectAtIndex:1];// there are slides, im zooming the second
}
4

2 に答える 2

21

私は同じ問題を抱えていました。ScrollViewの最小および最大ズームレベルを設定すると、問題が解決しました..試してください

self. scrollViewPresentation.minimumZoomScale = 1.0;
self. scrollViewPresentation.maximumZoomScale = 10.0;
于 2013-09-24T09:01:23.400 に答える