0

ユーザーがフォトアルバムから写真を選択してその選択を表示したら、その画像を変更する必要がある UIButton があります。このセットアップを実行していますが、ユーザーが写真を選択したら、ボタンのサイズにサイズを変更する必要がありますそれが私が助けを必要とするところです、ここに私のコードがあります:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
UIImage *giftImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[giftImage resizableImageWithCapInsets:UIEdgeInsetsMake( 0, 10, 0, 10 )];
[giftButton setBackgroundImage:giftImage forState:UIControlStateNormal];
giftButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
giftButton.imageView.contentMode = UIViewContentModeScaleToFill;
giftButton.imageView.bounds = CGRectMake( 0, 0, 62, 62 );
}

更新:解決策が見つかりました。これまでのところ、ボタンのサイズが画像のサイズに変更されただけですが、次のコードを使用して、必要なサイズで画像を内部に挿入することができました。これは進行中の作業ですが、機能しています;)

CGSize targetSize = CGSizeMake( 62, 62 );

UIGraphicsBeginImageContext( targetSize );

CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = CGPointMake( 0, 0 );
thumbnailRect.size.width  = 62;
thumbnailRect.size.height = 62;

[giftImage drawInRect:thumbnailRect];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
[giftButton setBackgroundImage:newImage forState:UIControlStateNormal];

UIGraphicsEndImageContext();

コードはこの投稿からのものですUITableViewCells に表示する前に、画像のサイズを変更してトリミングします

4

1 に答える 1

2

あなたが試すことができます:

[giftButton setContentMode:UIViewContentModeScaleAspectFit];

これにより、ボタンにうまく収まるように画像がスケーリングされます

于 2012-11-18T19:52:22.347 に答える