我正在绘制一堆UIImageView(100x100)作为菜单项。每个都有自己的图像,有些大于100x100,有些小。默认情况下,具有较大图像的imageViews按比例缩小,以便很好地适应100x100框。
然而,小于100x100的图像正在按比例放大,这使得它们非常模糊。我喜欢它,所以较小的图像只是保持自然的大小。否则我对大图像缩放的方式感到满意,而不是较小的图像。
切换到UIViewContentModeScaleAspectFit
,UIViewContentModeScaleAspectFill
或UIViewContentModeScaleToFill
,我无法取得任何成就。
有没有人有关于如何实现这一目标的想法或黑客?我可以使用if语句来检查图像的尺寸并发送它们的contentMode(中心?),但这似乎有些过时,因为我正在使用NSDictionary
循环从for in
绘制每个项目。任何帮助赞赏。感谢
答案 0 :(得分:4)
如果我理解正确,您可以在设置框架之前先检查图像尺寸,例如:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageName:@"myimage.png"]];
[imageView sizeToFit];
CGRect newFrame = imageView.frame;
if (newFrame.size.width > 100) newFrame.size.width = 100;
imageView.frame = newFrame;
你需要一些额外的逻辑来为高度做类似的事情。这是你的意思吗?