您的位置:首页 > 移动开发 > IOS开发

iOS之旅--使用控件的属性frame、center、bounds

2015-09-21 09:15 369 查看

属性使用总结

frame:

是 CGRect 格式,

[code]struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;

struct CGSize {
  CGFloat width;
  CGFloat height;
};
typedef struct CGSize CGSize;

struct CGRect {
  CGPoint origin;
  CGSize size;
};
typedef struct CGRect CGRect;


这里的 x,y 默认指的是左边和顶部 距离父窗口的距离,

frame 属性一般用来初始化控件,指定初始位置。

控件有一个 center 属性,可以修改 center 的值来改变控件的位置

控件还有一个 bounds 属性,可以修改 bounds 的值来改变控件的宽高,

通常开发过程中,尽量不要去修改 frame 的值,而通过 center 和 bounds 的值来达到修改 frame 的效果。

CGAffineTransform

[code]CGAffineTransformMakeTranslation(CGFloat tx,
  CGFloat ty)
   //设置一个距离最初位置的位移。(这里参照的不是上一次的位置,是最初开始的位置)
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)

CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)

上面两个同理,都是参照最开始的状态,

CGAffineTransformTranslate(CGAffineTransform t,
  CGFloat tx, CGFloat ty)
  //参照的是上一次的位置,在这个位置的基础上再做一次位移
  //下面两个同理
CGAffineTransformScale(CGAffineTransform t,
  CGFloat sx, CGFloat sy)
CGAffineTransformRotate(CGAffineTransform t,
  CGFloat angle)


OC开发中,角度统一用弧度值

顺时针是正值,逆时针是负值

180° = M_PI

//项目练习下载路径:http://download.csdn.net/detail/sjl_leaf/9123223
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: