0

ズーム スケール 1.0 でスタック エフェクトを実現するにはどうすればよいですか?

アプリのユーザーがコンテンツをいつ 1.0 zoomScale で表示しているかを判断できるようにしたいと考えています。

これを実現するには、現在の zoomScale が約 1.0 (例: 0.75 から 1.25 の間) のときに、UIScrollView の zoomScale を 1.0 に自動的に設定したいと考えています。

(もちろん、前述の auto-zoomScale-setting の後でも、UIScrollView の zoomScale を minimumZoomScale と maximumZoomScale の間の任意の zoomScale に設定できるようにしたいと考えています。)

4

1 に答える 1

0

これは、pinchGestureRecognizer の速度を使用して行いました。このようにして、ユーザーが「より強く」ズームしない限り、1.0 に「固定」されます。たぶん、このようなものがあなたのために働くでしょう:

-(void)scrollViewDidZoom:(UIScrollView *)scrollView{
    if (scrollView.zoomScale >= 0.75 && scrollView.zoomScale <= 1.25) {
        if (fabs(scrollView.pinchGestureRecognizer.velocity) < velocityTolerance) {
            scrollView.zoomScale = 1.0;
        }
    }
}

ズームインとズームアウトの許容範囲が異なるように、これを少し調整する必要があることがわかりました。公差として 5.0 から始めて、それがどのように感じられるかを確認してください。

于 2013-03-26T17:11:46.313 に答える