我在CGContextRef
图形上下文中重绘图像,但是,当我绘制图像时,它们的纵横比是错误的。在下图中,图形上下文是黑色方块(一个单独的UIView
类),正在显示的图片是从它下面的红色轮播中选择的。我看了一堆帖子,但不知道在哪里修复它。
这是我的drawRect
方法。我不知道在哪里可以设置contentMode
,因为没有UIImageView
,只有UIImages.
- (void)drawRect:(CGRect)rect
{
NSMutableDictionary *dna = _mini.dna;
NSString *directory = @"FacialFeatures";
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClearRect(context, self.bounds);
//flip the coordinates for Core Graphics coordinates
CGContextScaleCTM(context, 1, -1);
CGContextTranslateCTM(context, 0, -self.bounds.size.height);
for (id key in dna) {
NSString *value = [dna objectForKey:key];
if (![value isEqualToString:@""]) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%@/%@/%@", directory, key, value]];
CGContextDrawImage(context, rect, image.CGImage);
}
}
}
对于额外的帮助,我也不知道为什么 Graphics Context 的背景是黑色的。我已经尝试在界面生成器和我的 init 方法中设置它,但似乎所有设置都被忽略了。非常感谢。