CGAffineTransformのみを使用して、contentModeUIViewContentModeTopLeftを使用してUIImageViewのUIImageを中央揃えおよびスケーリングする必要があります。完全なCGAffineTransform情報が必要なため、contentModeUIViewContentModeCenterを使用できません。
これまでのところ、私はこのようなものを使用しています。ここで、_imageViewはUIImageViewであり、画像はUIImageです。
_imageView.image = image;
CGFloat scale = fmaxf(_imageView.bounds.size.width / _imageView.image.size.width, _imageView.bounds.size.height / _imageView.image.size.height);
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformTranslate(transform, _imageView.image.size.width * 0.5, _imageView.image.size.height * 0.5);
transform = CGAffineTransformScale(transform, scale, scale);
_imageView.transform = transform;
スケーリングは問題ありませんが、画像の右下には常にオフセットがあります。contentMode UIViewContentModeCenterを使用せずにこれを行う方法を知っている人はいますか?