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

ios学习之个人笔记(按钮操作)

2015-11-28 18:12 399 查看
此小程序主要实现下面按钮对“图片按钮”的操作,移动、放大、缩小和旋转的功能。

最终效果图:



//这里是用到的属性和方法声明
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *btnImg;

- (IBAction)move:(UIButton *)sender;
- (IBAction)rotate:(UIButton *)sender;
- (IBAction)scale:(UIButton *)sender;
@end


//移动方法
- (IBAction)move:(UIButton *)sender {
//设置动画
[UIView animateWithDuration:0.7 animations:^{
//1)获取图片原始frame
CGRect orginFrame = self.btnImg.frame;
//根据tag判断当前是那个按钮
switch (sender.tag) {
case 10:
orginFrame.origin.y-=10;
break;
case 20:
orginFrame.origin.x-=10;
break;
case 30:
orginFrame.origin.y+=10;
break;
case 40:
orginFrame.origin.x+=10;
break;
}
self.btnImg.frame = orginFrame;
}];

}


移动方法主要是通过图片按钮的frame.origin来改变其X和Y轴的坐标实现

frame.origin是CGPoint结构体如下

struct CGPoint {

CGFloat x;

CGFloat y;

};

//放大、缩小方法
- (IBAction)scale:(UIButton *)sender {
//设置动画
[UIView animateWithDuration:0.7 animations:^{
//1)获取原始图片大小
CGRect originFrame = self.btnImg.frame;
switch (sender.tag) {
case 100:
originFrame.size.width+=10;
originFrame.size.height+=10;
break;
case 200:
originFrame.size.width-=10;
originFrame.size.height-=10;
break;
}
self.btnImg.frame = originFrame;
}];

}


放大、缩小通过图片按钮的frame.size改变其width和height大小实现。

frame.size也是个结构体如下

struct CGSize {

CGFloat width;

CGFloat height;

};

//旋转
- (IBAction)rotate:(UIButton *)sender {

CGFloat angle = (sender.tag) ? M_2_PI : -M_2_PI;
self.btnImg.transform = CGAffineTransformRotate(self.btnImg.transform, angle);
}


旋转是改变其角度,设置旋转按钮的tag分别为1和0,通过耳目运算符获得改变的角度大小,然后通过CGAffineTransformRotate(self.btnImg.transform, angle)进行改变。

此方法第一个参数为基于什么位置进行改变,第二个参数是旋转的角度大小。

按钮操作素材
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: