iOS UIViewContentMode 不同效果图文对比

一. iOS提供了的ContentMode有如下几种

其中默认mode是UIViewContentModeScaleToFill

c 复制代码
typedef NS_ENUM(NSInteger, UIViewContentMode) {
    UIViewContentModeScaleToFill,
    UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. remainder is transparent
    UIViewContentModeScaleAspectFill,     // contents scaled to fill with fixed aspect. some portion of content may be clipped.
    UIViewContentModeRedraw,              // redraw on bounds change (calls -setNeedsDisplay)
    UIViewContentModeCenter,              // contents remain same size. positioned adjusted.
    UIViewContentModeTop,
    UIViewContentModeBottom,
    UIViewContentModeLeft,
    UIViewContentModeRight,
    UIViewContentModeTopLeft,
    UIViewContentModeTopRight,
    UIViewContentModeBottomLeft,
    UIViewContentModeBottomRight,
};

二. 煮几个栗子

UIViewContentModeScaleToFill

特点:
强行把原始图片塞进UIImageView设置的size里;

如果宽高比相同,等比例缩放;

如果宽高比不同,会变形塞入;

UIViewContentModeScaleAspectFit

特点:
等比例缩放图片以适应UIImageView的size,不会裁剪图片

图片的宽度或者高度(至少一个)恰好与视图的宽度或者高度相等;

UIViewContentModeScaleAspectFill

特点:
等比例缩放图片但会超出边界,不会裁剪图片

图片的宽度或者高度(至少一个)恰好与视图的宽度或者高度相等;

UIViewContentModeRedraw

效果同默认态UIViewContentModeScaleToFill,设置没什么特殊效果,而是告诉视图在每次设置或者更改frame的时候自动调用drawRect:方法

UIViewContentModeLeft 和 UIViewContentModeRight


效果为左对齐、右对齐;如上图对比

UIViewContentModeTop 和 UIViewContentModeBottom
UIViewContentModeTopLeft、UIViewContentModeTopRight、UIViewContentModeBottomLeft、UIViewContentModeBottomRight
相关推荐
Digitally7 小时前
iPhone 卡在恢复模式:如何修复(分步指南)
ios·iphone
vx-bot5556668 小时前
企业微信ipad协议的协议状态机与生命周期管理
ios·企业微信·ipad
ITKEY_8 小时前
macOS通过命令行启动iOS模拟器
macos·ios
00后程序员张8 小时前
iPhone 无需越狱文件管理 使用Keymob查看导出文件
android·ios·小程序·https·uni-app·iphone·webview
OneCrab8 小时前
Iphone漏洞利用工具包 Coruna DarkSword
ios·cocoa·iphone
2501_915106328 小时前
不依赖 Mac 也能做 iOS 开发?跨设备开发流程
ide·vscode·macos·ios·个人开发·swift·敏捷流程
2501_916008898 小时前
Unity3D iOS 应用防篡改实战 资源校验、 IPA 二进制保护
android·ios·小程序·https·uni-app·iphone·webview
2501_915909068 小时前
MachObfuscator全面解析:Apple平台Mach-O应用程序混淆技术指南
macos·ios·小程序·uni-app·objective-c·cocoa·iphone
RickeyBoy20 小时前
解决 Swift Testing 中 DI 容器的竞态条件
ios
2501_915918411 天前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview