2009-06-26 14 views
5

Podklasy UIImageView do tworzenia aplikacji na bazie płytek. Zasadniczo biorę jeden plik obrazu i rozbija go na kawałki, a następnie przypisuję kawałki do moich płytek (UIImageViews), aby można było nimi manipulować niezależnie.Utwórz UIImageView z częścią pliku obrazu

Jaki jest najlepszy sposób na pobranie fragmentu obrazu i użycie go do narysowania UIImageView? Pomyślałem o nadpisaniu drawRect i użyciu CGAffineTransform, ale wydaje się, że powinien być prostszy sposób to zrobić, być może podając CGRect do UIImage, który jest przekazywany do UIImageView, ale nie widzę API dla tego.

Odpowiedz

11

Zaczynamy:

UIImage* img = [UIImage imageNamed:@"myImage.jpg"]; 
CGRect imgFrame = CGRectMake(x, y, tileWidth, tileHeight); 
CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], imgFrame); 
UIImage* subImage = [UIImage imageWithCGImage: imageRef]; 
CGImageRelease(imageRef); 
+0

Nie zapomnij zwolnić imageRef po utworzeniu UIImage: CGImageRelease (imageRef) –

+0

stałą, dzięki Nikolai –