2009-06-26 8 views
5

Ich bin UIImageView Unterklasse, um eine Kachel-basierte Anwendung zu erstellen. Im Wesentlichen nehme ich eine einzelne Bilddatei und teile sie in Teile auf und weise sie dann meinen Kacheln zu (UIImageViews), so dass sie unabhängig voneinander bearbeitet werden können.erstellen UIImageView mit Teil der Bilddatei

Was ist der beste Weg, um einen Teil eines Bildes zu greifen und damit ein UIImageView zu zeichnen? Ich dachte über das Überschreiben drawRect und die Verwendung CGAffineTransform, aber es scheint wie dort sollte eine einfachere Möglichkeit sein, dies zu tun, vielleicht durch Angabe CGRect an die UIImage, die an die UIImageView übergeben wird, aber ich sehe keine API dafür.

Antwort

11

Here we go:

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

Vergessen Sie nicht, die imageref freizugeben, nachdem die UIImage zu erstellen: CGImageRelease (imageref) –

+0

fixiert dank Nikolai –