如何在顶部使用UIViewContentModeScaleAspectFill?

4
如果我执行self.imageOfCatalog.Image.contentMode = UIViewContentModeScaleAspectFill;// | UIViewContentModeTop;,我会得到一个小缓存,并且看起来IOS将图片的中心放置在那里。我希望UIImageView显示图像的顶部并裁剪其余部分。我该怎么做?这是屏幕截图:enter image description here 图像已经足够好了,但是我想要显示的部分是顶部而不是中心部分。
1个回答

9

UIImageView不能做到这一点,

  • 您需要子类化UIView
  • 将UIImageview作为属性添加,并将其添加为子视图。
  • 将clipsToBounds设置为YES [self setClipsToBounds:YES];
  • 将UIImageView与视图顶部对齐
  • 根据布局Subviews中的图像比例调整UIImageView大小

可以在此处找到示例。


真的很棒的答案,而且不依赖于核心图形框架。 - DawnSong
然而,我认为没有必要子类化 UIView。只需将 UIImageView 拖到 UIView 上,并将 imageView 的顶部、左侧和右侧分别锚定到视图上,然后 view.clipsToBounds = true 即可。 - DawnSong
真遗憾,需要使用子类,而且效果更好。 - DawnSong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接