3

この質問には答えがあるかもしれませんが、何時間もグーグルで調べても問題の解決策が見つかりません。

内部に(320 UIImageView*320) を持つカスタム UITableCellUIImage(320*320) があります。ボタンをクリックすると、UIImageViewサイズが 320*80 (アニメーション) に変更され、UIImage も変更されます。

UIImageのサイズが変更されないようにするにはどうすればよいですか? これUIImageを同じままにして、この画像の一部のみを表示したい (原点が 0/0 の 320*80 フレーム)

編集:トリミング

画像を適切なサイズにトリミングしてから、UIImageView の画像をフルサイズの画像に設定することを考えましたが、ユーザーがUIImageViewをクリックすると、これはまだ 320*320 ですが、UIImageはトリミングされた画像に設定されているため、見苦しく見えます1 つ (320*80) 伸びているので...

ありがとう

4

3 に答える 3

3

UIImageViewオブジェクトを作成するときに、プロパティを に設定し、プロパティcontentModeをに設定します。お役に立てれば。UIViewContentModeScaleAspectFillclipsToBoundsYES

于 2012-05-05T17:53:07.787 に答える
3

画像のサイズを変更してから、UIImageView 画像をサイズ変更した画像に置き換えることができます。

CGImageRef imageToBeResized = yourImage.CGImage;
CGImageRef partOfImageAsCG = CGImageCreateWithImageInRect(imageToBeResized, CGRectMake(0, 0, 320, 80));
CGRelease(imageToBeResized);
UIImage *resizedImage = [UIImage imageWithCGImage:imageToBeResized];
于 2012-05-05T14:45:24.140 に答える
1

UIImageView を内部に持つ UIScrollView を使用することを検討する必要があるかもしれません。したがって、そのプロパティを使用して、目的の動作をアーカイブできます。

于 2012-05-05T15:57:19.433 に答える