我将子类化为UIView,检索远程图像,然后使用drawRect将其绘制到视图中。这可以正常工作,但是图像会根据我为视图框架设置的内容而倾斜。

我可以将UIViewContentModeScaleAspectFill的contentMode添加到我的UIView中,但是它似乎根本不适用于我正在绘制的UIImage,它仍然挤压UIImage,因为它遵循视图框架的大小。

似乎我应该执行以下操作,但这只是将图像在框架内缩放100%,而不是遵循contentMode设置:

[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];


我需要在drawRect中做一些特定的事情:使我的图像遵循contentMode属性吗?

最佳答案

我认为最简单的解决方案是继承UIImageView而不是UIView并使用该类的contentMode属性。然后,您无需调用drawRect,只需将图像加载到imageView中即可。

或者,如果需要子类化UIView,则将UIImageView添加到视图中,设置弹簧和支柱,设置contentMode并加载图像。

10-08 19:29