タッチに反応する小さなUIImageViewを作成するプログラムがあり、スーパービューの周りにドラッグすることができます。ピンチジェスチャーでUIImageViewをスケーリングする問題
イメージを拡大縮小するためにUIPinchGestureRecognizerを追加しました。現在のコードでは、イメージは完全にスケールアップされますが、新しいピンチジェスチャが開始されるとスケール1.0で再開します。
ContentScaleFactorを使用して初期のImageViewスケールを取得しようとしましたが、常に1.0であるため、以下のコードは正しく動作しません。
- (void)doPinch:(UIPinchGestureRecognizer *)pinch {
if (pinch.state == UIGestureRecognizerStateBegan) {
initialScale = dragImage.contentScaleFactor;
} else {
CGFloat newScale = initialScale * pinch.scale;
CGAffineTransform transform = CGAffineTransformMakeScale(newScale,newScale);
dragImage.transform = transform;
}
}
このコードは、「Apress Beginning iPhone 4 Development」ブックの「Pinch me」の例を改訂したものです。
contentScaleFactorが機能しないため、コアグラフィックスプロパティを使用する必要がありますか? CGAffineTransformScaleには何か関係がありますか?
ありがとうございます!
ありがとうございました! – REDMX
神様、私は何故これを再設定しているのか分かりませんでした。私は奇妙な機能を書いていました。 – Pochi