Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIButton image resize/scale to fit

I have a really wired problem and i don’t know how to solve it. I’m animating a UIButtons frame and when i animate it, i want the image in the button to scale to the same size as the button. It works without doing anything on my iPhone simulator. But when i run it on the iPad simulator it won’t change the image size. I have added [[gissaImg1 imageView] setContentMode:UIViewContentModeScaleToFill] code on several places but it did not help.

Do anyone know what is wrong and how to fix this problem?

//Code to set the image
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%@_small", 
                                              [[itemsForRound objectAtIndex:[[guessItems objectAtIndex:0] intValue]] valueForKey:@"Name"]]];

[self.gissaImg1 setImage:image forState:UIControlStateNormal];
[self.gissaImg1 setImage:image forState:UIControlStateHighlighted];

//Code to animate button
CGRect animateToSpot = (isIphone) ? CGRectMake(0, 0, 480, 320) : CGRectMake(0, 0, 1024, 768);
    [self performSelector:@selector(PlayCorrectSound:) withObject:nil afterDelay:1];
    [[gissaImg1 imageView] setContentMode:UIViewContentModeScaleToFill];
    [UIView animateWithDuration:1.5 delay:0 options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationCurveLinear) animations:^{
        switch (index) {
            case 0:
                [[gissaImg1 imageView] setContentMode:UIViewContentModeScaleToFill];
                [self.gissaImg1 setFrame:animateToSpot];
                [self.view bringSubviewToFront:gissaImg1];
                break;
.......
like image 210
Uffe Avatar asked Dec 06 '25 08:12

Uffe


1 Answers

Try setBackgroundImage instead of setImage, and do nothing to the image. (resize or setContentMode) Hope this helps

like image 172
ultragtx Avatar answered Dec 08 '25 20:12

ultragtx



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!