Chinaunix首页 | 论坛 | 博客
  • 博客访问: 307069
  • 博文数量: 53
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 325
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-14 22:50
文章分类

全部博文(53)

文章存档

2014年(15)

2013年(38)

我的朋友

分类: iOS平台

2013-11-07 09:57:35

1.bounds和frame区别

2.contentMode属性


来自(文件摘要)地址1:

一.bounds和frame区别

-(CGRect)frame{

    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);

}

-(CGRect)bounds{

    return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);

}

很明显,bounds的原点是(0,0)点,而frame的原点却是任意的。


基本概念:

        frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

        bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统)

        center:该view的中心点在父view坐标系统中的位置和大小。(参照电是,父亲的坐标系统)

修改bounds测试结果:

        bounds (0,0,100,100) --> (0,0,200,200) 本地坐标系统原点往左往上分别50。center不变,效果是按照中心放大view

        bounds(0,0,100,100) --> (100,100,100,100) 本地坐标系统原点往左往上分别100。center不变,没有可视效果变化(但是本地坐标系统的原点已经改变)

        

结论:

        bounds属性影响到本地坐标系统的原点。



来自(文件摘要)地址2:

二.contentMode属性:

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

UIViewContentModeScaleToFill UIViewContentModeScaleAspectFit UIViewContentModeScaleAspectFill UIViewContentModeRedraw UIViewContentModeCenter UIViewContentModeTop UIViewContentModeBottom UIViewContentModeLeft UIViewContentModeRight UIViewContentModeTopLeft UIViewContentModeTopRight UIViewContentModeBottomLeft UIViewContentModeBottomRight

注意以上几个常量,凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。

UIViewContentModeScaleToFill     UIViewContentModeScaleAspectFit     UIViewContentModeScaleAspectFill

      

阅读(360) | 评论(0) | 转发(0) |
0

上一篇:UIDatePicker的简单用法

下一篇:UIView的学习

给主人留下些什么吧!~~