属性使用总结
frame:
是 CGRect 格式,
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
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