0

ズームとパンが可能なシンプルなフォトビューアを作成しています。

したがって、IBでは、UIImageViewを含むUIScrollViewを作成します。

ここに画像の説明を入力してください

次に、写真が利用可能になり次第、写真を格納するように構成できます。

- (void) imageCaptureCompleted 
{
    {
        UIImage* I = self.frontCamView.stillImage;

        self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height );
        self.imageView.image = I;

        // - - - 

        self.scrollView.maximumZoomScale = 4.0;
        self.scrollView.minimumZoomScale = 0.75;
        self.scrollView.clipsToBounds = YES;
        self.scrollView.delegate = self;

        self.scrollView.contentSize = self.imageView.bounds.size;
    }

    [self hideCaptureView];

    UIImageWriteToSavedPhotosAlbum( self.frontCamView.stillImage, 
                                   self, 
                                   @selector( image: didFinishSavingWithError: contextInfo: ), 
                                   nil );
}

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

これはほとんど機能しています。それは確かに私にパンとズームをさせています。

ただし、パンが大きすぎます。写真の右端に当たると跳ね返るはずです。代わりに、写真が大きな黒い長方形の中にあるかのように動作します。

上の写真とまったく同じ方法で、スクロールビューの自動サイズ変更マスクを設定しました。

それを機能させる方法は?

PS私は今これを理解しました。後世のために答えを出します。

4

1 に答える 1

0

このコードはそれを整理します:

        // self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height );
        self.imageView.image = I;

        [self.imageView sizeToFit];

しかし、なぜこの変更が必要なのか理解できません。誰かが私に言うことができれば、私はその答えを受け入れます(その場合、上記のコードを貼り付けてください。そうすれば、この答えを削除できます)。

于 2011-11-18T13:19:38.940 に答える