iOS UIViewContentMode 不同效果图文对比

iOS UIImageView的contentMode属性【Swift版】 今天小编遇到一个Bug,就是图片被自动拉升了,就比如这样的一张宽的图片,iOS会自动拉升的到适配UIImageView尺寸的。一开始忘记了UIImageView有contentMode属性。百思不得其解。后来。。。。。(就是我太菜) 来波总结【文后有惊喜】 public enum ContentMode : Int { case scaleToFill = 0 //默认 case scaleAspectFit = 1 // 内容缩放以适应固定的方面。其余部分是透明的 阅读详情
AI摘要

本文详细介绍了iOS中UIView的ContentMode的各种模式,包括ScaleToFill(填充缩放)、ScaleAspectFit(等比例缩放保持宽高比)、ScaleAspectFill(拉伸填充)、Redraw(重绘)以及各种对齐方式,帮助开发者理解和选择合适的图片适配策略。,

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

其中默认mode是UIViewContentModeScaleToFill

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

在这里插入图片描述

UIViewContentMode详解 UIView有个UIViewContentMode类型的属性contentMode,可以通过它来修改视图的内容显示模式。 typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents 阅读详情

相关推荐

iOS UIViewContentMode 详解:图片适配、缩放原理与实战场景

在 iOS 开发中,视图内容适配是一个基础且高频的技术点,它直接关系到应用界面的精细度与用户体验。其核心原理在于如何处理内容尺寸与视图边界之间的几何关系,本质上是定义内容在边界矩形内的布局算法。从技术价值看,深入理解这一机制能帮助开发者避免编写冗余的布局代码,精准控制视觉呈现,从而提升 UI 代码的优雅性与性能。常见的应用场景包括用户头像展示、Banner 图适配、列表图片显示以及自定义绘制视图等。本文将以 `UIViewContentMode` 为核心,结合 `scaleAspectFill` 和 `sc

weixin_30645617的博客 547

UIView.ContentMode样式详解

内容会被缩放,以保持宽高比,同时会填充整个视图。:内容会放置在视图的中心位置,保持原始大小(如果内容超出了视图的边界,则可能被裁剪)。:内容放置在视图的左上角,保持原始大小,可能导致右和下部分被裁剪。:内容放置在视图的右上角,保持原始大小,可能导致左和下部分被裁剪。:内容放置在视图的左下角,保持原始大小,可能导致右和上部分被裁剪。:内容放置在视图的顶部,保持原始大小,可能导致底部被裁剪。:内容放置在视图的底部,保持原始大小,可能导致顶部被裁剪。:内容放置在视图的左侧,保持原始大小,可能导致右侧被裁剪。

炫目萧萧的专栏 2831

iOS UIViewContentMode全解析:18种模式图文对比与实战应用

在iOS开发中,视图内容适配是一个基础且关键的技术点,它决定了当视图尺寸与内容尺寸不匹配时,内容如何显示。其核心原理是通过几何变换和定位策略来协调内容与容器之间的关系,主要分为缩放、定位和重绘三大类模式。掌握这些模式的技术价值在于能够精准控制UI元素的视觉呈现,避免图片变形、布局错乱等问题,从而提升应用界面的精致度和用户体验。在实际开发中,这一技术广泛应用于头像展示、背景图填充、图标对齐、列表单元格优化等场景。本文通过图文对比的方式,系统解析了UIViewContentMode的18种模式,并结合scale

weixin_34208283的博客 373

UIView的contentMode属性总结

UIView的contentMode属性最初知道这个属性还是以前面试的时候,面试官看到我app的一个图片有些变形,于是考了我这个问题。确实之前没有仔细思考过,一堆枚举值看上去也挺头疼,这次把它总结一下。我们知道,定义的UIView的frame大小,和它实际需要显示的内容的大小并不总是一直的。这个问题在使用UIImageView的时候格外容易发生。很有可能图片的真实大小、长宽比例和定义的frame不

KT的iOS开发小站 1万+

C++上机——2023年“信息与未来”小学生编程思维展示官方题解

本次活动前三题是“根据问题描述实现代码”类型的问题,题解和示例代码由人工智能GPT-4直接阅读题面后生成――只要熟悉C++的语法和基本的编程、调试,即可解决p1、p2、p3。后三题有一定的算法性,我们给出命题思路和一些可能的解法。注意:本题解是面向指导教师的;指导教师在讲解时可以根据学生掌握程度进行调整。

qq_39127687的博客 2296

IMU卡尔曼滤波方法详细介绍

本文介绍了基于IMU和卡尔曼滤波的状态估计方法。系统采用9维状态向量(位置、速度、加速度计零偏),通过牛顿运动学建立状态方程,并利用外部位置观测进行校正。详细推导了状态转移矩阵和控制输入矩阵的形式,阐述了预测和更新的计算步骤。同时说明了过程噪声Q和观测噪声R的设置原则,其中Q反映模型不确定性,R取决于传感器精度。该方法可有效融合IMU测量与外部观测数据,实现位置、速度和偏置的联合估计。

haing2019的博客 757

iOS开发必备:UIViewContentMode详解与实战应用

在iOS界面开发中,内容适配是构建精致UI的基础技术之一。其核心原理是通过一套规则控制视图内容在边界内的布局与缩放方式,确保视觉元素在不同屏幕尺寸和内容尺寸下都能正确显示。这项技术的工程价值在于能够高效处理图片、图标等资源的自适应问题,避免拉伸变形或布局错乱,直接提升应用的用户体验。常见的应用场景包括用户头像显示、产品图片展示、卡片背景图以及固定尺寸图标等。本文聚焦于UIViewContentMode这一关键枚举,深入解析其缩放系、重排系和重绘系三大模式,并通过实战案例展示如何避免常见坑点,例如在UITab

weixin_34208185的博客 484

angular中访问本地json文件

先在assets文件夹下写一个json文件,这样在打完包之后也可以手动修改json文件内容 1、在需要访问本地json文件的ts文件里面引入 import{HttpClient}from'@angular/common/http'; 2、用ajax请求调用,我这里是用已经封装好的ajax请求调用 gethttp = ()=>{ var self = this self.ajax.getAjax("../../assets/server.json","g...

蜗牛~~ 1829

UIViewContentMode 图文解说

       在iOS应用开发中我们常常要对视图的contentMode属性进行设置,尤其在使用UIImageView视图时设置这个属性的概率很高。我们知道contentMode的类型是UIViewContentMode的枚举,那么其每个值是什么含义,设置后会有什么效果呢?下面就来总结下。 UIViewContentModeLeft        如果将UIImageView对象的conten...

weixin_33722405的博客 150

QuickFix Java 实战(一)协议解析、环境搭建与首个应用

本文是QuickFix Java实战系列的第一篇,详细介绍了FIX协议的核心原理与QuickFix/J引擎的实战应用。内容涵盖FIX协议的标签化通信机制、QuickFix/J库的两种下载方法、协议定义文件解析,并通过一个完整的模拟订单发送示例,指导读者快速搭建首个FIX应用环境,实现消息生成与会话通信。

dog123的博客 495

别再手动巡检了!vRealize Operations Manager 8.x 自动化报告配置全攻略(附模板下载)

本文详细介绍了如何利用vRealize Operations Manager 8.x实现自动化巡检报告配置,大幅提升虚拟化运维效率。通过模板定制、智能调度和自动分发等功能,帮助运维团队告别手动生成报告的繁琐工作,实现90%以上的时间节省。文章还提供了实用的配置技巧和最佳实践,助力企业构建高效的自动化报告系统。

weixin_33806859的博客 298

UIButton加视图/文字

.h #import @interface UIButton (UIButtonImageWithLable) /**  *  上面图片,底部文字 button  *  *  @param image     Picture  *  @param title     Title Text  *  @param stateType U

DemoFootMan的博客 599

视觉检测在激光打码字符检测上的检测案例

在机器视觉检测技术中,OCR识别是比较典型的应用,应用的场景也比较丰富,基本上在制造业,每个工厂或者印刷厂都会用到视觉OCR识别检测,OCR字符识别的原理很简单,通过图像分割后,对字符进行学习、命名。在工业相机拍摄图像后,软件进行处理,从而读取结果。 随着技术的发展,激光打标技术被更多的应用在生产过程中,由激光打标代替油墨进行字符印刷,速度更快、效果更好。 但是随之而来的是在视觉检测上带来的影响,目前市面上应用的字符检测设备大多是由集成商单独开发的软件,在检测油墨印刷时,图像上的字符没有断点,非常连贯,所需

视觉检测设备-视觉检测系统-单张检测设备-卷料印品检测 1462

contentmode备忘

3、contentMode属性: 这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定: UIViewContentModeScaleToFill UIViewContentModeScaleAspectFit UIViewContentModeScaleAspectFill UIViewContentModeRedraw UIViewContentModeC

keyken的专栏 4342

【YOLOv12多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1211

Python 爬虫实战:爬取去哪儿网酒店评价,提取住宿体验关键词

本文介绍了基于去哪儿网酒店评价数据的爬取与分析方法。首先通过分析网页结构和数据加载机制,定位到评价数据的JSON接口及关键参数。然后使用Python搭建爬虫环境,实现多页评价数据的批量采集与存储,并通过反爬策略确保数据获取的稳定性。在文本分析环节,采用jieba分词和TF-IDF算法提取高频关键词,结合词云可视化展示用户关注点。分析结果显示位置、服务、卫生是核心关注维度,同时识别出好评与差评的关键驱动因素。该方法为酒店服务优化和消费者决策提供了数据支持,并可通过扩展实现更深入的情感分析和竞品对比。

2503_91057718的博客 999

UIView的contentMode

UIViewContentModeScaleToFill 根据视图的比例去拉伸图片内容。 UIViewContentModeScaleAspectFit 保持图片内容的纵横比例,来适应视图的大小。 UIViewContentModeScaleAspectFill 用图片内容来填充视图的大小,多余得部分可以被修剪掉来填充整个视图边界。 UIViewContentModeRed...

u012717715的博客 2296

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

iOS开发——UIImageView的contentMode、裁剪和layer属性详解

在我们iOS开发过程中,UIImageView是一个非常常见的控件,但是我们未必会用的很溜,因为里面的有些属性不曾注意,或者很难理解。所以会对我们使用该控件带来麻烦,在布局UI过程中可能会造成意想不到的结果。这篇博客主要来讲解UIImageView中的contentMode属性以及和图片裁剪的关系,并且不得不提到就是所有UIView的重要属性:layer(CALayer)。文中提到的所有·示例代码

乞力马扎罗的雪CYF的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

iOS中的UIViewContentMode常用的三种模式

常用的基本上是下面三种 UIViewContentModeScaleToFill,UIViewContentModeScaleAspectFit,UIViewContentModeScaleAspectFill, 这三种都带有scale一词,表示缩放的意思,也就是说这三种模式的图片都会进行缩放以填充view。 有两个带有fill一词,表示会填满整个view 第一个:UIView

Bright 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

UIViewContentMode解释

UIViewContentmode的含义 UIView有个UIViewContentMode类型的属性contentMode,可以通过它来修改视图的内容显示模式。 1)UIViewContentModeScaleToFill: 个人理解:根据视图的比例去拉伸图片内容 充满整个视图; 官方解释:The option to scale the content to fit the size o

waiilaiiz的博客 770

UIViewContentMode各模式的含义和效果

在iOS应用开发中我们常常要对视图的contentMode属性进行设置,尤其在使用UIImageView视图时设置这个属性的概率很高。我们知道contentMode的类型是UIViewContentMode的枚举,那么其每个值是什么含义,设置后会有什么效果呢?下面就来总结下。

赤条条的博客 5248

iOS设置UIView的contentMode

contentMode是UIView的属性,可以设置内容展示模式。 typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed asp...

培根芝士的专栏 2799

UIView之【UIViewContentMode】

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33748818的博客 212

UIView的contentMode使用小结

Content Modes        每一个视图都有一个 contentMode 来控制当视图的几何形状发生变化的时候如何复用它的内容,当view第一次被显示出来,它会将自己的内容渲染被位图持有。在那之后,改变view的几何结构将并不能导致位图被重新创建(绘制)。但是属性值ContentMode决定了bitmap是否缩放、位置在哪儿(固定在左边、右边、上面、下面、居中)。默认

欢迎来到Jack的程序世界 1万+

UIImageView的contentMode

一,写在前面     项目开发中,有时我们需要对UIImageView的contentModel属性做设置,来让图片以不同的方式,显示在UIImageView中. 比如让图片适应,UIImageView; 让UIImageView适应图片来显示等等. 二,了解contentMode @property(nonatomic) UIViewContentMode contentMode;

LXL_815520的博客 3851
上一篇: iOS 字符串中的字母大小写转换、首字母大写转换
下一篇: iOS CoreBluetooth 蓝牙广播如何解析获取到内容(如:kCBAdvDataServiceData)
RollingPin
博客等级 码龄8年 183粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值