Вы забыли добавить myImageView
в качестве подпредставления вашего основного вида или другого видимого представления?Например,
[cell.contentView addSubview:myImageView];
Это объясняет, почему ничего не появляется.
Однако, CGImageCreateWithImageInRect()
обрезает изображение внутри прямоугольника, если ваш прямоугольник меньше, чем изображение.Чтобы изменить размер самого UIImage, см .: Самый простой способ изменить размер UIImage?
Однако проще всего, если вы просто позволите UIImageView обрабатывать изменение размера, если вам на самом деле не нужен UIImageсам размер изменен.
UIImage *cellImage = [UIImage imageNamed:@"warning.png"];
CGRect cropRect = CGRectMake(0.0, 0.0, 12.0, 12.0);
CGImageRef croppedImage = CGImageCreateWithImageInRect([cellImage CGImage], CGRectMake(0.0f,0.0f,cellImage.size.width,cellImage.size.height));
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect];
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]];
CGImageRelease(croppedImage);
[cell.contentView addSubview:myImageView];
См .: