ピンチ ジェスチャ レコグナイザを使用して、画像のあるボタンのズームを処理しています。を使用してイメージを確立しました
[self.button setImage:image forState:UIControlStateNormal];
[self.button setImage:image forState:UIControlStateHighlighted];
私のピンチ ジェスチャ レコグナイザー ハンドラーでは、frame.size を変更してボタンをスケーリングしています。
self.button.frame = [self makeButtonFrame];
ここで、makeButtonFrame は現在のスケールを使用します (ピンチ ジェスチャ レコグナイザー ハンドラーによって調整されます)。
- (CGRect) makeButtonFrame {
CGRect frame = CGRectMake (STROKE_WIDTH + DISTANCE_FROM_STROKE,
STROKE_WIDTH + DISTANCE_FROM_STROKE,
self.scale * self.defaultWidth,
self.scale * self.defaultHeight);
return frame;
}
この手法では、特定のポイントを超えてボタン イメージを拡大縮小できないことがわかりました。そして、その縮尺は特定の画像によって異なるようです (2 倍!)。目盛は3~4くらいのようです。
現在、ピンチ ジェスチャ レコグナイザーでは、スケールを控えめに 3 倍に制限しています。
ただし、最大スケールを決定するためのより分析的な手段が必要です。私が試した一連の画像に基づいて推定するだけではありません。