2011-01-05 12 views
2

iphone.nowのiphone.nowのim newの画像を拡大しています。つまり、イメージは中程度のサイズのように表示されます。私はこのようなコードを実装します。iphoneのボタン画像のサイズを変更するには

images = [[NSMutableArray alloc]init]; 
[images addObject:[UIImage imageNamed:@"bearlarge.jpg"]]; 
[images addObject:[UIImage imageNamed:@"bufflo_large.jpg"]]; 
[images addObject:[UIImage imageNamed:@"camel_large.jpg"]]; 
UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 



int row = 0; 
int column = 0; 


for(int i = 0; i < images.count; ++i) { 



// UIImage *thumb = [images objectAtIndex:i]; 

    UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 



    button.frame = CGRectMake(column*105+14, row*105+10, 50,50); 


    [button setImage:[images objectAtIndex:i] forState:UIControlStateNormal]; 
    [button addTarget:self 
     action:@selector(buttonClicked:) 
    forControlEvents:UIControlEventTouchUpInside]; 
    button.tag = i; 




    [view addSubview:button]; 

    if (column == 2) { 
    column = 0; 
    row++; 
    } else { 
    column++; 
    } 
    } 
//[view setContentSize:CGSizeMake(320, (row+1) * 80 + 10)]; 
    self.view = view; 
[view release]; 

iphoneでボタン画像のサイズを変更する方法を教えてください。

ありがとうございました。

+1

あなたのコードを再フォーマットしてください。)(「{}」ボタン編集) – nacho4d

+1

画像は上記のコードでは、ボタンのサイズ内に収まるようにリサイズされます。あなたは何を探していますか? –

答えて

1

を使用するあなたはUIImageのために、このカテゴリを作成することができます。

- (UIImage *)rescaleImageToSize:(CGSize)size { 
    CGRect rect = CGRectMake(0.0, 0.0, size.width, size.height); 
    UIGraphicsBeginImageContext(rect.size); 
    [self drawInRect:rect]; // scales image to rect 
    UIImage *resImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return resImage; 
} 
1

ボタンの上にUIImageViewを追加する方がよい。それで、あなたは簡単にフレームサイズを変更することができます。

CODE

UIButton *imageBut=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; 
UIImageView *img=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; 
img.userInteractionEnabled=NO; 
[imageBut addSubview:img]; 
[self.view addSubview:imageBut]; 
[imageBut release]; 
[img release]; 

さもないと、

[button setBackgroundImage:YourImage]; 
+0

私は選択されたイメージをフルイメージとして表示する必要があります。なぜボタンを選択するのですか? – user549767

0

setImageとは、元のサイズで画像を設定しますそれをあなたのプロジェクトに組み込みます。

setBackgroundImageは元の画像のサイズを変更します。

[button setBackgroundImage:[images objectAtIndex:i] forState:UIControlStateNormal]; 
0
-(void)scaleImage:(id)sender 
{ 
     if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) 
     { 
     lastScale = 1.0; 
     return; 
     } 

    CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]); 

     CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform; 

    CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale); 

    [[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform]; 

    lastScale = [(UIPinchGestureRecognizer*)sender scale]; 

}

関連する問題