为啥我的 UIImageView 放在故事板上时会模糊?
Posted
技术标签:
【中文标题】为啥我的 UIImageView 放在故事板上时会模糊?【英文标题】:Why is my UIImageView blurry when I put it on my storyboard?为什么我的 UIImageView 放在故事板上时会模糊? 【发布时间】:2013-10-04 18:21:14 【问题描述】:我有一个 20x36px (10x18pt) 的箭头图像,当我选择一个 UIImageView 时,将它拖到我的视图控制器上然后设置图像,它总是模糊的。我只在我的项目中包含了@2x,因为它只有一个 ios 7,但我就是不明白为什么它这么模糊。
图片:
除非放大,否则可能很难分辨,但会出现一些难看的混叠。
【问题讨论】:
【参考方案1】:如果您在模拟器中运行应用程序,则可以使用“调试”菜单中的“颜色未对齐图像”。黄色图像被拉伸,洋红色图像存在亚像素对齐问题。
在这种情况下,UIImageView 的尺寸看起来与您的图像尺寸不匹配,导致 UIImageView 拉伸图像。您可以执行以下两项操作之一来确保不会发生拉伸:
确保您的 UIImageView 的尺寸与您的 UIImage 匹配。如果您使用自动布局,请确保您只有一个水平位置约束和一个垂直位置约束,并且您的 UIImageView 的大小应与其固有内容大小(即图像大小)一致。如果您在任一维度上有大小约束或多个位置约束,这些约束将强制 UIImageView 为特定大小,这可能与图像的大小不同。
将 UIImageView 的内容模式设置为不会拉伸图像的内容模式,例如 Center (UIViewContentModeCenter
)。
【讨论】:
有没有办法将它们设置为未拉伸? 只要确保您的 UIImageView 的宽度和高度与您放入的图像相同。 如果它是@2x 并说,37px 宽怎么办? 然后我会在图像编辑器中编辑图像并添加 1 个像素的填充以使其宽度为偶数个像素。 @2x 图像在两个维度上的像素数应始终为偶数。如果您使用 Resizer(由 Bonobo 开发)之类的应用,如果您使用奇数,则会收到警告。【参考方案2】:我将两个箭头并排放置并添加了辅助线。左箭头垂直拉伸两个像素:
宽度相同。
【讨论】:
以上是关于为啥我的 UIImageView 放在故事板上时会模糊?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我将网站放在 debian 服务器上时出现 cayenne 连接错误
如何以编程方式将 UIImageView 添加到 UIStackView(故事板)
将故事板 UIImageView 更改为具有背景颜色的自己的类
为啥在我的基于 macOS 文档的应用程序中没有调用带有故事板的 applicationDidFinishLaunching?