1

こんにちは、特定の場所に大きな画像と小さな画像があります...それらをすべて ScrollView の下に追加しましたが、正しく機能しませんでしたか? ズームインしたい それぞれの場所で一緒に

これが私のコードです:

    myScrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);
    myScrollView.maximumZoomScale = 3.0;
    myScrollView.minimumZoomScale = 1.0;
    myScrollView.clipsToBounds = YES;
    myScrollView.delegate = self;

    [myScrollView addSubview:imageView];

ありがとう


こんにちは、マックワース。やったのですが、画像を最大化しないとスクロールビューがどこにも動かないのに、ズームしたら残りが見えるように..なぜ変えてみたのかわかりませんが、仕事。次のコードを見ていただけますか?

- (void)viewDidLoad{
    [super viewDidLoad];
    UIImage *image = [UIImage imageNamed:@"ucd.png"];
    //creating a view for UCD image
    ucdView = [[UIImageView alloc] initWithImage:image];
    //setting the frame for the ucdView as the same size of ucd image
    [ucdView setFrame:CGRectMake(0, 0, image.size.width, image.size.height)];


    //for the red pin to display in specific loc
    UIImageView *Health = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"redPin.png"]];
    [Health setCenter:CGPointMake(310,135)];
    //adding helathView to ucdview
    [ucdView addSubview:Health];
    //everything for scroll view
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, ucdView.frame.size.width, ucdView.frame.size.height)];
    [scrollView setMinimumZoomScale:1.0];
    [scrollView setMaximumZoomScale:3.0];
    scrollView.clipsToBounds = YES;
    [scrollView setContentSize:CGSizeMake(image.size.width, image.size.height)];
    [scrollView setDelegate:self];
    [scrollView addSubview:ucdView];//adding ucd view to scroll view
    [self.view addSubview:scrollView]; // adding scrollview to self.view main view
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {//apply zooming for scrollview
    return scrollView;
}    
4

1 に答える 1

0

実装しましたか:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return self.imageView;
}

また、scrollViewのcontentSizeをimageSizeに設定すると、それより大きくなることはありませんね。所定の位置にズームインし、それに応じて外側のピクセルをトリミングします。余談ですが、それがあなたの計画なら、直​​接設定してみませんか?

myScrollView.contentSize = imageView.frame.size;

=====さらなる回答、追加の情報源への対応

さて、私が気付く主なことは、scrollViewではなくviewForZoomingInScrollViewでimageViewucdViewを返す必要があるということです。すでにucdViewをプロパティとして作成しているようです(ビューが存続する限り存続するように)が、念のため...

1).hファイル内:

UIImageView * ucdView;
@property (nonatomic, retain) UIImageView * ucdView;

2).mファイル内。

@synthesize ucdView;

3)ラインを変更します:

ucdView = [[UIImageView alloc] initWithImage:image];

ただ

 self.ucdView = [[UIImageView alloc] initWithImage:image];

4)行を変更します

 return scrollView

に:

 return self.ucdView;

5)以下をdeallocルーチンに追加します。

self.ucdView = nil;

また、<UIScrollViewDelegateViewController定義(.hファイル内)に>プロトコルを追加しましたか?

最後に、scrollviewとHealthのリークがあります。[scrollViewリリース]を追加します。および[ヘルスリリース]viewDidLoadの最後

于 2011-06-29T19:20:57.693 に答える