はあなたのUIImageViewでこれを試してみてください:
それはあなたがUIViewContentModeScaleAspectFitを使用していると仮定すると、画像のフレームを計算しますします。
それはあなたが各次元でUIImageViewで、それに合うようにUIImageを拡大/縮小する必要がどのくらいうまくいく、その後、最小の倍率を選び、画像が割り当てられたに収まることを保証するためにされて何
- (CGRect) imageFrame
{
float horizontalScale = self.frame.size.width/self.image.size.width;
float verticalScale = self.frame.size.height/self.image.size.height;
float scale = MIN(horizontalScale, verticalScale);
float xOffset = (self.frame.size.width - self.image.size.width * scale)/2;
float yOffset = (self.frame.size.height - self.image.size.height * scale)/2;
return CGRectMake(xOffset,
yOffset,
self.image.size.width * scale,
self.image.size.height * scale);
}
スペース。
これでUIイメージのサイズを知ることができ、X、Yオフセットw.r.tを簡単に計算できます。収容するフレーム。
私が知る限り、UIImageViewは表示中のイメージの実際のフレームを照会する方法を提供していません。おそらく、UIViewContentModeScaleAspectFitに頼るのではなく、UIImageViewで使用するフレームを手作業で計算するのが最善の方法です。 – titaniumdecoy
それは公正です。私はその仕事をすることができると思う。アドバイスをいただきありがとうございます。 – fredwardo