UIImageView笔记

  1. image的伸缩变换
    最好是image和imageview的size一致。如果不一致,最终的效果由imageView的contentMode和image的属性共同决定。

    • 如果image没有cap insets,那么图片的表现完全由imageview的contentMode决定。
    • 如果image有cap insets,cap insets决定图片的各个部分的伸缩方向。
  2. 图片的透明度
    图片的透明度由image的透明度和imageview的透明度共同决定。

    • 如果imageview的opaque属性是yes,那么图片的像素直接覆盖在背景图上,imageview的alpha属性被忽略。
    • 如果imageview的opaque属性是no,那么每一个像素点的alpha值是imageview的alpha值和image的alpha值的乘积。如果图片没有alpha通道,那么认为alpha值为1。
      由于计算每一个像素的alpha值消耗计算资源,因此一般情况下设置imageview的opaque属性为yes
  3. 提高图片性能的几点建议
    • 对于经常要展示的需要缩放的图片,创建缩略图,然后展示。这样子可以避免每次缩放图片的性能需要。
    • 尽量让image的size和imageview的size相同。使用UIImageResizingModeTile来平铺图片。
    • 设置imageview的opaque属性为yes。
时间: 2024-10-06 05:05:33

UIImageView笔记的相关文章

iOS: 学习笔记, 使用performSelectorOnMainThread及时刷新UIImageView

在iOS中, 界面刷新在主线程中进行, 这导致NSURLSession远程下载图片使用UIImageView直接设置Image并不能及时刷新界面. 下面的代码演示了如何使用 performSelectorOnMainThread: withObject:  waitUntilDone: 方法来及时刷新图片 1. 创建iOS空应用程序(Empty Application). 2. 加入一个控制器类. 在YYAppDelegate.m中修改 #import "MainViewController.h

【代码笔记】给UIImageView加上圆角效果

一,效果图. 二,代码. RootViewController.m #import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNi

IOS 开发笔记-基础 UI(7)汤姆猫(UIImageView 的序列帧动画、图片加载,方法重构、Bundle 图片素材)

使用UIImageView.UIButton实现一个综合小案例---汤姆猫 回忆:UIImageView 来自UIView,UIView 来自UIResponder,UIButton 来自UIControl,UIControl 来自UIView 单独看实现,代码实现其实比较简单,但是创意很难得,美工要求很高! 是一个了不起的游戏! 功能分析 (1)点击对应的按钮后,让汤姆猫展现对应的动画 步骤分析 (1)搭建UI界面,同时也是准备素材 (2)监听按钮点击 (3)根据点击的按钮执行对应的动画 说明

SDWebImage源码学习笔记

//  这是我第二次学习sdwebimage源码,第一次学习吸收的很少,看不懂啊.第二次看个50%,在此记录一点笔记. 首先是目录: 1.SDWebImage目录 里面有两个类,SDWebImageCompat.h 里面有个根据屏幕设置图片scale的方法 SDWebImageOperation.h 声明了一个协议,取消操作 (可以理解这一个放的公共方法目录) 2.Downloader 目录(顾名思义,下载操作相关的目录)里面有两个关键的类 SDWebImageDownloaderOperati

iOS学习笔记之UITableViewController&UITableView

iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论文,因此需要继续思考新的算法.这是一件挺痛苦的事情,特别是在很难找到与自己研究方向相关的文献的时候.也许网格序列水印这个课题本身的研究意义就是有待考证的.尽管如此,还是要努力的思考下去.由于实验室的原因,iOS的学习进度明显受到影响,加之整理文档本身是一件耗费时间和精力的事情,因此才这么久没有写笔记了. M

029-UIScrollView-iOS笔记

学习目标 1.[理解]UIScrollView实现大图滚动 2.[理解]UIScrollView实现电台界面 3.[理解]UIScrollView的代理 4.[理解]常用属性.方法整理 5.[理解]UIScrollView实现缩放功能 6.[理解]无限循环的图片浏览器(转载内容) 一.UIScrollView实现大图滚动 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限.当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容,普通的UIView不具备滚动功

【iOS开发每日小笔记(十)】自制带圆框的头像 利用在CALayer设置“寄宿图”

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.90%的作用是帮助自己回顾.记忆.复习. 在上一篇文章中,我详细地回顾.复习了Core Graphics框架中利用Quartz 2D来绘制各种各样的图形,其实这些绘图就是绘制到了UIView的CALayer层上.这次,受到另一篇博文(http://

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关

032-UITableView(3)-iOS笔记

学习目标 1.[理解]QQ界面搭建 2.[理解]通知中心NSNotificationCenter 3.[理解]实现发布信息和自动回复 一.QQ界面搭建 手机QQ聊天软件应该大多数人都接触过,就不细说了,需求是自定义cell搭建手机QQ聊天界面. 分析:顶部.底部是单独UIView控件,中间是tableview.所以可以一眼看出顶部.底部不是在tableview中的,因为他们不会随着tableview而滑动.效果图如下:点击这里查看动态图 还是和上一篇文章的微博案例一样,先封装数据模型和cell的