黑马程序员——按钮操作

来源:互联网 发布:js display block 编辑:程序博客网 时间:2024/04/30 03:17

1.transform简介:

@property (nonatomic) CGAffineTransform transform;

2> 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)。
2.frame简介:

@property (nonatomic) CGRect frame;

2> 控件所在矩形框的位置和尺寸(以父控件的左上角为坐标原点)。
3.图片资源:
1> Xcode项目中图片资源一般拖放在Supporting Files,可以在其目录内创建一个image文件夹;
2> 为某个控件\按钮设置图片,在该按钮的Background属性添加图片资源。
4.UIButton控件:
1> 按钮有状态,在State Config属性选择,默认情况下是Default普通状态,Highlighted高亮状态(手指按下去的时候);
2> 按钮间接继承自UIView。
5.frame修改按钮位置\移动按钮:
1> OC语法规定:不允许直接修改某个对象中结构体属性的成员;
2> 修改按钮位置方法:

CGRect temFrame = self.btn.frame; // 1.先取出frametemFrame.origin.y -= distance; // 2.修改y值self.btn.frame = temFrame; // 3.重新赋值按钮的frame

6.对按钮改变添加动画:

- (void)btnClickWithBlock:(void (^)())block // 利用block封装动画,省去重复代码{    [UIView beginAnimations:nil context:nil]; // 动画头部,动画开始    [UIView setAnimationDuration:1.0]; // 设置动画执行所需时间1s    block(); // 调用block封装的代码    [UIView commitAnimations]; // 动画尾部,提交动画}

7.transform修改按钮形变属性:
1> 形变属性不会在以前的基础上再转多少角度,或者缩小放大多少倍;
2> 调用CGAffineTransformRotate(),传入当前按钮.transform、旋转角度,赋值给按钮.transform:

self.btn.transform = CGAffineTransformRotate(self.btn.transform, M_PI_4 * -1); // 按钮逆时针旋转45°

3> 调用CGAffineTransformScale(),传入当前按钮.transform、长、宽放大倍数,赋值给按钮.transform:

self.btn.transform = CGAffineTransformScale(self.btn.transform, 1.2, 1.2); // 按钮宽高均放大1.2倍

4> 将transform修改的属性清空,即清空之前所有的形变属性状态:

self.btn.transform = CGAffineTransformIdentity; // 恢复初始形状

8.补充:

1> center属性:

① 表示控件的中点(以父控件的左上角为坐标原点);

② 修改这个属性,可以调整控件的位置。

2> bounds属性:

① 表示控件的位置和尺寸(以自己的左上角为坐标原点,位置永远是(0, 0));

② 修改这个属性,只能调整控件的尺寸。

3> tag属性:

① 表示控件的标识;

② 通过不同标识可以区分不同的控件。


0 0
原创粉丝点击