1

UIViewのサブビューとしてカスタムを持っていUIScrollViewます。

の場合selected、ユーザーは画面上の任意の場所をピンチすることでサブビューのサイズを変更できます (サブ ビューはかなり小さいです)。

の場合deselected、このピンチ ジェスチャを UIScrollView に渡して、通常どおりに処理できるようにしたいと考えています。

これが私が試していることです。

- (IBAction)pinchInView:(UIPinchGestureRecognizer *)sender {

    if (self.item.isSelected) 
    {
        if ((sender.state == UIGestureRecognizerStateChanged) || (sender.state == UIGestureRecognizerStateEnded))
        {
            [self.item resizeWithScaleFactor:sender.scale];
        }
    } else 
    {
        [self.scrollView setZoomScale:self.scrollView.zoomScale *= sender.scale];
    }
    sender.scale = 1;
}

それは機能しますが、これを行うのは厄介な方法のようです。

UIScrollView に独自のズームを処理させる方法はありますか?

パン ジェスチャでもほぼ同じアプローチを使用しています。

この厄介さを軽減する方法があれば、本当に助けていただければ幸いです。

4

2 に答える 2

0

以下のデリゲート メソッドを実装します。

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
于 2013-09-14T07:35:10.817 に答える