0

私はUIScrollviewいくつかのUIViewsinitを持っています。

スケーリングしても実際にはスケーリングされませんが、非常に奇妙な方法でscrollviewコンテンツがスケーリングされます。scrollview

 _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 60.0f, self.bounds.size.width, self.bounds.size.height-60.0f)];
 [self addSubview:_scrollView];
 [_scrollView.layer setAffineTransform:CGAffineTransformScale(_scrollView.layer.affineTransform, .5, .5)];

scrollviewコンテンツだけでなく、全体をスケーリングすることは可能ですか。UIScrollViewコントロールではなく画像としてズームしたい。

4

2 に答える 2

1

これを試すことができます:

- (CGRect)zoomRectForScale:(float)scale withScrollView:(UIScrollView *)yourScrollView {

    CGRect zoomRect;

    zoomRect.size.height = [yourScrollView frame].size.height / scale;
    zoomRect.size.width  = [yourScrollView frame].size.width / scale;


    zoomRect.origin.x = (yourScrollView.theScrollView.x - zoomRect.size.width  / 2.0);
    zoomRect.origin.y = (yourScrollView.center.y - zoomRect.size.height / 2.0);

    return zoomRect;

    }

    ...

    [yourScrollView setFrame:[self zoomRectForScale:5 withScrollView:yourScrollView]];
于 2013-02-13T13:31:20.233 に答える
0

UIScrollView 内に UIScrollView を追加し、デリゲート メソッドを使用すると、それを行うことができます。

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return innerScroll;
}

mainScroll をデリゲートに接続するだけで、innerScroll 内にサブビューを追加します

于 2013-02-13T14:03:25.187 に答える