首页 > 其他分享 >ios开发之--UIViewContentMode详解

ios开发之--UIViewContentMode详解

时间:2023-08-22 15:33:52浏览次数:31  
标签:拉伸 UIViewContentMode -- ios UIImageView 设置 imageView 图片 属性

在开发当中有时会有这样的需求,将从服务器端下载下来的图片添加到imageView 当中展示,但是下载下来的图片尺寸大小不固定,宽高也有可能不成比例 如果直接设置imageView的image属性而不设置contentMode那么图片会默认填满整个容器,导致图片变形,影响美观.

直接设置1个正方形的imageView的image属性 图片默认填充占满整个imageView就会变成填充模式.

很明显感觉到人物已经变形了 .UIView 提供了1个属性 UIViewContentMode 来设置内容的填充模式

typedef NS_ENUM(NSInteger, UIViewContentMode) { 
//图片拉伸填充至整个UIImageView(图片可能会变形),这也是默认的属性,如果什么都不设置就是它在起作用 
UIViewContentModeScaleToFill, 
//图片拉伸至完全显示在UIImageView里面为止(图片不会变形) 
UIViewContentModeScaleAspectFit, 
//图片拉伸至图片的的宽度或者高度等于UIImageView的宽度或者高度为止.看图片的宽高哪一边最接近UIImageView的宽高,一个属性相等后另一个就停止拉伸. 
UIViewContentModeScaleAspectFill, 
//调用setNeedsDisplay 方法时,就会重新渲染图片 
//下面的属性都是不会拉伸图片的 
UIViewContentModeRedraw, 
//中间模式 
UIViewContentModeCenter, 
//顶部 
UIViewContentModeTop, 
//底部 
UIViewContentModeBottom, 
//左边 
UIViewContentModeLeft, 
//右边 
UIViewContentModeRight, 
//左上 
UIViewContentModeTopLeft, 
//右上 
UIViewContentModeTopRight, 
//左下 
UIViewContentModeBottomLeft, 
//右下 
UIViewContentModeBottomRight, 
};

如上的枚举所示,设置图片的相应属性即可!


作者:稻草人11223


标签:拉伸,UIViewContentMode,--,ios,UIImageView,设置,imageView,图片,属性
From: https://blog.51cto.com/u_13188203/7190265

相关文章

  • elasticsearch
    最典型的是两个应用场景:全文检索 和 复杂查询。正排索引,也叫正向索引(ForwardIndex),是通过文档ID去查找关键词(文档内容)。倒排索引,也叫反向索引(InvertedIndex),是通过关键词查找文档ID。must:其查询子句必须全部被满足,逻辑相当于and,并且会计算分数。filter:与must作用一......
  • ios开发之 -- 自动轮播图创建
    这里是oc版本的,简单记录下:具体代码如下:1,准备#defineFRAME[[UIScreenmainScreen]bounds]#defineWIDTHFRAME.size.width#defineHEIGHTFRAME.size.height2,具体实现//scrollview的添加_bigScrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(0,20,WIDTH,H......
  • 如何查看Navicat已有连接的密码(简单清晰)
    1.打开Navicat,File>ExportConnections2.选择你想查看的数据库,并勾选下方的【导出密码】,导出3.去文件里找到Password 4.打开网址 https://tool.lu/coderunner复制下面的代码放进去,然后把倒数第二行换成上面复制的密码<?phpnamespaceFatSmallTools;classNavi......
  • swift--使用UserDefaults来进行本地数据存储
    UserDefaults适合轻量级的本地客户端存储,存储一个值,新值可以覆盖旧值,可以重复存储,也可以存储一次,然后直接从UserDefaults里面读取上次存储的信息,很方便,用的时候,宏定义下,直接调用!轻量级数据库的话,移动端一般使用SQlite数据库,也是一款轻量级的适合移动端设备的数据库,具体可以参考我以......
  • C++ 面向对象开发1
    ObjectBased:面对的是单一class的设计;ObjectOriented:面对的是多重classes的设计,classes和classes之间的关系。class前向声明,声明,定义。函数若在classbody中定义完成,便自动成为inline函数。如果函数太复杂就不会成为inline。overload的函数编译之后签名不同。虽然参数列表不......
  • swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)
    比较简单,原理就不说了,这里只做记录:代码如下:1,准备varpageControl:UIPageControl?varmyscrollView:UIScrollView?varmyTimer:Timer?varmycurrentPage:NSInteger?varcourses=[["name":"first","pic":"1.jpeg&qu......
  • ios开发之 -- NSData 和 NSString , UIImage 等之间的互转
    1//NSData转换为UIImage2NSData*imageData=[NSDatadataWithContentsOfFile:imagePath];3UIImage*image=[UIImageimageWithData:imageData];45//UIImage转换为NSData6NSData*imageData=UIImagePNGRepresentation(aimae);1.......
  • 技术领先的用友iuap平台,助力升级数智化底座、驾驭数智未来
    8月19日下午,由用友主办的“2023全球商业创新大会-企业数智化技术峰会”,在上海市“国家会展中心”隆重召开。此次峰会以“升级企业数智化底座”为主题,与众多行业领先企业大咖、生态伙伴,揭秘用友BIP核心技术与平台能力,解析多维度场景下企业数智化底座升级路径,共享行业领先企业升级数......
  • 数字藏品app制作软件
      数字藏品的市场发展,促进更多的人进来制作开发数字藏品app软件,这些软件能为用户提供给各种的价值,实现商品的流通转换,帮助我们找到适合自己的藏品。  首先,数字藏品app制作软件通常具有艺术创作功能,这些软件提供了各种绘画、图形设计工具,使用户能够尽情地表达自己的想法和......
  • ios开发之--UICollectionView的使用
    最近项目中需要实现一种布局,需要用到UICollectionView,特在此整理记录下!贴上最终实现的效果图: 1,声明@interfaceFirstViewController()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>@property(nonatomic,strong)UICollectionView*m......