iOSUIImageView处理图片大小问题

第一种:UIImageView *myImageView = [[ UIImageView alloc] initWithImage: [UIImage imageNamed: @”demo”]]; 

用该方法可以显示图片原有大小。 

第二种方法: UIImageView *myImageView = [[UIImage alloc] initWithFrame: self.view.bounds]  

该方法会按指定大小显示图片,而不管图片的原有大小,因而会造成图片变形。

代码块

UIImageView *myImageView =[[ UIImageView alloc] initWithImage: [UIImage imageNamed: @”demo”]];UIImageView *myImageView =[[UIImage alloc] initWithFrame: self.view.bounds];

在很多情况下,既需要按指定大小的范围中放置图片,又不要造成图片变形。解决该问题可以设置UIImageView的contentMode属性。contentMode为一个枚举:

typedefNS_ENUM(NSInteger, UIViewContentMode){  

     UIViewContentModeScaleToFill,   

     UIViewContentModeScaleAspectFit,    

     UIViewContentModeScaleAspectFill,    

     UIViewContentModeRedraw,    

    UIViewContentModeCenter,    

    UIViewContentModeTop,    

    UIViewContentModeBottom,    

    UIViewContentModeLeft,    

    UIViewContentModeRight,    

    UIViewContentModeTopLeft,    

    UIViewContentModeTopRight,    

    UIViewContentModeBottomLeft,    

    UIViewContentModeBottomRight

};

其中最常用的三种模式是:

UIViewContentModeScaleFill: 会把图片填充到图片视图中; 

UIViewContentModeScaleAspectFit: 会使得图片以原有的高宽比以适应图片视图; 

UIViewContentModeScaleAspectFill: 首先要设置图片视图的clipsToBounds属性为YES,使图片以原有高宽比填充整个图片视图,超出的部分会被剪辑掉; 

因此一般设置图片视图模式为UIViewContentModeScaleAspectFit。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,685评论 2 4
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,247评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,677评论 6 30
  • 2016/07/10 // ViewController.m // UI基础控件 // // Created by...
    Just_smile阅读 575评论 0 1
  • 重新又看了一遍大空头、华尔街之狼、监守自盗,只为了再一次感受金融危机时华尔街那些金融精英们的心情。 金钱永不眠,由...
    南阳一梦阅读 287评论 0 0

友情链接更多精彩内容