- 浏览: 570283 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From: http://ios.wpjam.com/2011/08/29/uiview-frame-bounds-center/
翻开ios官方开发文档,赫然发现上面对这三个属性的解释如下:
- frame:描述当前视图在其父视图中的位置和大小。
- bounds:描述当前视图在其自身坐标系统中的位置和大小。
- center:描述当前视图的中心点在其父视图中的位置。
是不是有点迷糊?好吧,别急,让我们先说说ios的坐标系统。
2、ios坐标系统
ios以左上角为坐标原点(0,0),以原点向右侧为X轴正方向,原点下侧为Y轴正方向,如下图所示。
ios采用CGPoint来表示点在坐标系上X、Y位置。我们可以通过CGPointMake(x,y)来创建一个坐标点:CGPoint point = CGPointMake(80,40)
同时,ios采用CGSize来表示视图的宽度和高度,即视图的大小。我们可以通过CGSizeMake(width,height)来创建一个矩形的大小,如CGSize size = CGSizeMake(144,72)将创建一个宽度为144,高度为72的矩形大小。
而CGRect则是结合了CGPoint和CGSize,用来表示矩形的位置和大小。它的origin表示矩形右上角所在位置(CGPoint),size表示矩形的大小(CGSize)。
3、frame、bounds和center的区别与联系
回到frame和bounds属性,通过前面的描述不难发现,这两个属性都是用来描述视图的大小(CGSize)和位置(CGPoint)的,两者都用CGRect表示。不同的是,frame描述的是在其父视图中的CGRect,而bounds描述的是在其自身视图中的CGRect,也就是说,两者所在的坐标系是不同的。如图3所示,View B是View A的子视图,那么,View B的frame属性为origin(200,100),size(200,250),而View B的bounds属性为origin(0,0),size(200,250)。
center属性则用CGPoint表示矩形中心点在其父视图中的位置,如图3中View B的center属性为(300,200)。
frame、bounds和center三个属性是相互关联、相互影响的,其中一个属性发生变化,其他属性也会跟着变化。
4、frame、bounds和center的使用场景
一般来说,bounds属性比较少用,通常使用frame来设置视图的大小和位置,使用center来改变(移动)视图的位置(也可用frame来改变位置)。另外,对视图进行旋转、缩放也都是相对于center进行操作的。
From: http://unmi.cc/ios-bounds-frame
frame和bounds是UIView中的两个属性(property)。
frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)
bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)
-(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); }
发表评论
-
Objective-C 与 C++ 的异同
2013-04-02 12:03 1360http://www.cnblogs.com/y041039 ... -
Cocos2D-X是全球知名的开源跨平台手机游戏引擎
2013-01-22 10:05 2710http://www.oschina.net/p/cocos ... -
iOS Keyboard 键盘高度变化 自适应
2013-01-15 15:43 3220[[NSNotificationCenter default ... -
iOS使用自定义字体
2012-11-27 12:11 12080From: http://blog.csdn.net/csy1 ... -
4 款类似 Facebook/Path 切换效果的 iOS 组件
2012-11-27 12:03 2097From: http://blog.csdn.net/lia ... -
Path 2.0的UI界面设计详细介绍
2012-11-27 11:56 1427如Path的创始人Dave Morin ... -
史上最全的App Store邮箱列表
2012-11-27 11:51 1227From: http://roybaby.blog.51cto ... -
iOS从info.plist 获取项目的名称及版本号
2012-11-16 10:54 1577From: http://blog.sina.com.cn/s ... -
MapKit annotation drag and drop with callout info update
2012-10-13 10:38 2365http://hollowout.blogspot ... -
NSArray 或NSDictionary 调用writeToFile方法失败原因
2012-08-31 10:03 4424NSArray 或NSDictionary 调用writeTo ... -
如何让IOS应用从容地崩溃
2012-08-30 15:25 1574From: http://www.cocoachina.com ... -
iOS中判断设备系统版本
2012-08-29 17:17 31670在iOS开发中,经常要考虑系统的向下兼容,如果使用 ... -
iOS 汉字转拼音
2012-08-21 16:42 1426From: http://www.cnblogs.com/v2 ... -
iOS模拟器截图工具
2012-08-17 16:35 1592From: http://magicalboy.com/ios ... -
XCode下的iOS单元测试
2012-08-10 17:47 1122From: http://mobile.51cto.com/ ... -
AFNetworking
2012-08-08 10:54 4624AFNetworking on github: https:/ ... -
Wrapping Conventions
2012-08-01 15:54 781Wrapping Conventions ... -
Core Animation如何使显式动画结束时的值直接作用Layer
2012-08-01 14:51 3751(1)使用隐式动画会直接改变layer的属性值,如: ima ... -
How To Debug Memory Leaks with XCode and Instruments Tutoria
2012-07-31 16:30 1020From: http://www.raywenderlich. ... -
Using Properties in Objective-C Tutorial
2012-07-31 16:27 882From: http://www.raywenderlich. ...
相关推荐
详解 UIView 的 Tint Color 属性.pdf
定义UIView frame属性的UIView-Positioning,源码UIView-Positioning,UIView+Positioning是一个Objective-C Category,为定义UIView frame属性(宽度、高度和X、Y)提供好了简单便捷的方法。 UIView+Positioning ...
uiview+frame,方便UI布局,码农工具,第一次上传,测下好用不
功能2:给UIButton设置各属性,包括frame、textLabel.font、textAlignment(此属性因没有提示,不推荐使用)以及四种状态下(nomal,hightlighted,selected,disabled)的image、title、titleColor、backgroudImage...
基于简单属性的框架属性设置 uiview定位收费 UIView Positioning 是一个快速扩展,它提供简单的shorthand 方法,以方便的方式定义任何UIView对象的框架属性( 宽度,高度,x,y ),以及额外的属性和方法。用法只需...
DLLLayout 是一个基于 UIView.frame 的轻量级 iOS 布局框架
可直接修改frame的值,包括x,y,centerx,centery,width,height,size,origin 导入头文件即可使用。简单,快捷
iOS, UIViewController, UIView, UIViewController的加载方式和UIView的加载详解
UIView 动画 UIView动画
ios中关于uiview
在UIView中与位置,尺寸有关的属性有 frame bounds center在此不多赘述,在CALayer中同样有与其相对应的属性 frame bounds position 需要注意的是 center与position 虽然字面表达不一样,但是其功能是一致的,为了更加...
UIView+Extension 对view的一个扩展
UIView AutoLayout ,UIView AutoLayout 是 UIView 的分类,实现了自动布局限制的简单接口。 T...
•UIView 中有关位置的属性只有frame、bounds、center,而CALayer除了具备这些属性之外还有anchorPoint、position。 •通过修改CALayer可以实现UIView无法实现的很多高级功能 什么是Core Animation? Core Anima
UIView框架助手 淹没在布局和定位代码中? 在常见情况下,最多可减少75%。 设定X和Y // Then CGRect frame = myView.frame; frame.origin.x = ... frame.origin.y = ... myView.frame = frame; // Now [myView ...
详细讲解UIView的生命循环周期,对开发者有更好的启发作用,深层次了解程序运行的流程。
1、将UIView 保存为图片,按照给定的scale 2、stackoverflow参照 3、保存的图片为依据scale,亲测
已封装好的实现渐变的UIView,只需传入渐变开始值和结束值就可直接使用。有四种渐变方向可选
+ (UIView *_Nullable)az_gradientViewWithColors:(NSArray*> *_Nullable)colors locations:(NSArray*> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_...
主要介绍了IOS 开发之UIView动画的实例详解的相关资料,需要的朋友可以参考下