我有一个UIImageView,我已经设置了帧大小为x = 0, y = 0, width = 404, height = 712.

我正在使用以下代码更改图像:

self.imageView.image = [UIImage imageNamed:@"setting-image.png"];

问题是,当*.png图像大小小于UIImageView帧大小时,图像会拉伸.我不想让它伸长.有什么办法可以做到这一点吗?

推荐答案

您可以使用

self.imageView.contentMode = UIViewContentModeScaleAspectFit;

Swift 3:

imageView.contentMode = .scaleAspectFit

UIViewContentModeCenter/.centerthe UIView documentation中描述的任何其他模式.

Ios相关问答推荐

如何遮罩,动画和添加阴影到CAShapeLayer?

如何使视图完全适合屏幕,而不会在旋转时溢出手机屏幕的边界?

为什么导航栏在与Style.Page的选项卡栏一起使用时停止工作?

如何让3张组合的`SF Symbol`图片围绕一个特定点旋转?

当S没有身体时该如何处理

视图未更新以在按下按钮时显示另一个视图

在最新版本的 iOS 中,设备上的Localized.strings文件发生了什么变化?

Swift - 缺少函数参数在编译期间不会失败,甚至会导致不同的数据类型?

SKScene 的更新功能似乎不起作用

视觉扫描无法识别 iOS16 上的 GS1 条码特殊字符

卡在 Apple 的 SwiftUI 教程第 5 章(更新应用数据)

如何包含 Xcode 子项目标头?

如何在通用应用程序中同时支持 iPad 和 iPhone 视网膜图形

Swift 错误:在其自己的初始值中使用的变量

Xcode 故事板:内部错误.请提交错误

如何在上传到服务器之前在 iOS 上压缩/调整图像大小?

iOS 7 圆形框架按钮

文件是为存档而构建的,它不是被链接的体系 struct (i386)

快速从 NSTimeInterval 转换为小时、分钟、秒、毫秒

在 UITableViewController 中使用 UISearchDisplayController 时断言失败