2012-04-02 13 views
0

私のアプリケーションには「PDFビューア」があります。私はCGPDFDocumentRefCGPDFPageRefを使ってPDFを表示します。 PDFを拡大するには、UIScrollViewを使用します。ダブルタップしてPDFを拡大表示UIScrollView?

私は既にUIScrollViewをピンチズームすることができますが、ズームするためにダブルタップすることもできます。

1本の指でダブルタップすると、maximumZoomLevelに当たってからminimumZoomLevelまで2本の指でダブルタップできるようになるまで、PDFのさまざまなレベルに移動します。

私はここであなたにこれを特に示すインターネット上の解決策を見つけることができませんでした。私はここで尋ねています。どのように私はこれを達成することができますか? viewDidLoadで

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; 
    [doubleTap setNumberOfTapsRequired:2]; 
    [self.scrollView addGestureRecognizer:doubleTap]; 
    [doubleTap release]; 

は方法:

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer 
{  
    if(self.scrollView.zoomScale > self.scrollView.minimumZoomScale) 
     [self.scrollView setZoomScale:self.scrollView.minimumZoomScale animated:YES]; 
    else 
     [self.scrollView setZoomScale:self.scrollView.maximumZoomScale animated:YES]; 
} 

答えて

0

私はあなたが(アロケーションは/認識装置を初期化するときに指定)handleメソッドにそれ以降numberOfTapsRequiredプロパティでUITapGestureRecognizerを使用することができると思いますし、拡大表示するには– zoomToRect:animated:または– setZoomScale:animated:を使用してください。

編集:現在のズームレベルを追跡して、効果を逆転させます。

+0

はい、これが私が試みたものです。しかし、私はそれが動作するようにすることはできません。質問を更新し、いくつかのコードを追加しました。 – Jacob

+0

あなたの問題を解決しましたか? – h4cky

関連する問題