Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIImageView with stretchableImageWithLeftCapWidth doesn't stretch image

I'm trying to stretch an Image in a UIImageView - but I fail miserably :)

Following setup:

NIB-File with a view and a UIImageView attached to this view.

Wired to my class using IBOutlet UIImageView *background.

Now, in my class I try the following:

UIImage *bgImage = [[UIImage imageNamed:@"myImage.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:50];
[background setImage: bgImage];

bgFrame = CGRectMake(0, 0, 250, 200);
background.frame = bgFrame;

which should stretch the image vertically - at least, that's what I thought. Alas, it's not working... :(

The image I'm using has a height of 115px (which should be enough for the stretch, I guess?)

like image 268
Urs Avatar asked Aug 03 '10 22:08

Urs


Video Answer


2 Answers

Got it... (interesting that this happens often just seconds after asking the question)

In IB, I had to set the mode in the UIImageView to «Scale to fill» and set the Autoresize-property

That's what solved the problem...

Hope that helps somebody ;)

like image 52
Urs Avatar answered Oct 19 '22 11:10

Urs


Sometimes it depends on the file, However I did two things to fix it and I don't know which was the solution:

  • Open and resave the file (I don't think this made the difference)
  • Create the file.png and [email protected] file. (Anyway this should always be done with stretchable images)

After I added the @2x file the image stretched ok.

like image 43
htafoya Avatar answered Oct 19 '22 09:10

htafoya