前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS-UI控件之UIImageView

iOS-UI控件之UIImageView

作者头像
用户1941540
发布2018-05-11 11:31:51
8470
发布2018-05-11 11:31:51
举报
文章被收录于专栏:ShaoYLShaoYL

contentMode属性

  • 带有scale单词的:图片有可能会拉伸
    • UIViewContentModeScaleToFill
      • 将图片拉伸至填充整个imageView
      • 图片显示的尺寸跟imageView的尺寸是一样的
    • 带有aspect单词的:保持图片原来的宽高比
      • UIViewContentModeScaleAspectFit
        • 保证刚好能看到图片的全部
      • UIViewContentModeScaleAspectFill
        • 拉伸至图片的宽度或者高度跟imageView一样
  • 没有scale单词的:图片绝对不会被拉伸,保持图片的原尺寸
    • UIViewContentModeCenter
    • UIViewContentModeTop
    • UIViewContentModeBottom
    • UIViewContentModeLeft
    • UIViewContentModeRight
    • UIViewContentModeTopLeft
    • UIViewContentModeTopRight
    • UIViewContentModeBottomLeft
    • UIViewContentModeBottomRight

小语法点

  • 不能直接修改:OC对象的结构体属性的成员
  • 下面的写法是错误的
代码语言:javascript
复制
imageView.frame.size = imageView.image.size;
  • 正确写法
代码语言:javascript
复制
CGRect tempFrame = imageView.frame;
tempFrame.size = imageView.image.size;
imageView.frame = tempFrame;

initWithImage:方法

  • 利用这个方法创建出来的imageView的尺寸和传入的图片尺寸一样

修改frame的3种方式

  • 直接使用CGRectMake函数
代码语言:javascript
复制
imageView.frame = CGRectMake(100, 100, 200, 200);
  • 利用临时结构体变量
代码语言:javascript
复制
CGRect tempFrame = imageView.frame;
tempFrame.origin.x = 100;
tempFrame.origin.y = 100;
tempFrame.size.width = 200;
tempFrame.size.height = 200;
imageView.frame = tempFrame;
  • 使用大括号{}形式
代码语言:javascript
复制
imageView.frame = (CGRect){{100, 100}, {200, 200}};
  • 抽取重复代码
    • 将相同代码放到一个新的方法中
    • 不用的东西就变成方法的参数
  • 图片的加载方式
    • 有缓存 UIImage *image = [UIImage imageNamed:@"图片名"];
      • 使用场合:图片比较小、使用频率较高
      • 建议把需要缓存的图片直接放到Images.xcassets
    • 无缓存 NSString *file = [[NSBundle mainBundle] pathForResource:@"图片名" ofType:@"图片的扩展名"]; UIImage *image = [UIImage imageWithContentsOfFile:@"图片文件的全路径"];
      • 使用场合:图片比较大、使用频率较小
      • 不需要缓存的图片不能放在Images.xcassets
      • 当放在Supporting Files中,导入时选择Create folder references时候,加载文件需要导入文件名‘/images/imag_01’
    • 放在Images.xcassets里面的图片,只能通过图片名去加载图片
  • 延迟做一些事情
代码语言:javascript
复制
[abc performSelector:@selector(stand:) withObject:@"123" afterDelay:10];
// 10s后自动调用abc的stand:方法,并且传递@"123"参数
  • 音频文件的简单播放
代码语言:javascript
复制
// 创建一个音频文件的URL(URL就是文件路径对象)
NSURL *url = [[NSBundle mainBundle] URLForResource:@"音频文件名" withExtension:@"音频文件的扩展名"];
// 创建播放器
self.player = [AVPlayer playerWithURL:url];
// 播放
[self.player play];
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-06-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • contentMode属性
  • 小语法点
  • initWithImage:方法
  • 修改frame的3种方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档