UIKit - UIButton 旋钮操作
UIKit - UIButton 按钮操作
UIButton 按钮操作
/*
一 UIVIew 常见属性
1.frame 位置和尺寸(以父控件的左上角为原点(0,0))
2.center 中点 (以父控件的左上角为原点(0,0))
3.bounds 位置和尺寸(以自己的左上角为原点 (0,0))
4.transform 形变属性(缩放,旋转)
5.backgroundColor 背景颜色
6.tag 标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件不要一样)
7. hidden 设置是否要隐藏
8.alpha 透明度(0~1);
9.opaque 不透明度(0~1);
10.userInteractionEnabled 能否跟用户进行交互(YES 能交互)
11.superView 父控件
12.subviews 子控件
13.contentMode 内容显示的模式 拉伸自适应
*/
//要求会使用UIView的frame、transform属性改变大小和旋转
#import "ViewController.h"
@interface ViewController ()
- (IBAction)moveAndBig;
- (IBAction)move:(UIButton* )btn;
- (IBAction)big;
- (IBAction)small;
- (IBAction)leftRotate;
- (IBAction)up;
- (IBAction)large;
//头像
@property(nonatomic,weak) IBOutlet UIButton* head;
@end
@implementation ViewController
// 使用动画实现边移动边放大
- (IBAction)moveAndBig
{
//1.开启动画
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0]; //时间间隔
//2.修改属性
CGRect tempF =self.head.frame;
tempF.origin.x+=50;
tempF.origin.y+=100;
tempF.size.width+=50;
tempF.size.height+=50;
self.head.frame=tempF;
//3.提交动画
[UIView commitAnimations];
}
#pragma mark 移动(上下左右)
- (IBAction)move:(UIButton* )btn
{
//1.取出原来的属性
CGRect tempF=self.head.frame;
//2.修改临时属性
CGFloat delta=10;
switch (btn.tag) {
case 10: //上
tempF.origin.y-=delta;
break;
case 20: //下
tempF.origin.y+=delta;
break;
case 30: //左
tempF.origin.x-=delta;
break;
case 40: //右
tempF.origin.x+=delta;
break;
}
//3.重新赋值
self.head.frame=tempF;
}
#pragma mark 放大
- (IBAction)big
{
//1.取出原来的属性
CGRect tempFrame =self.head.frame;
// 2.改变临时属性
tempFrame.size.width += 20;
tempFrame.size.height += 20;
// 3.用临时属性覆盖原来的属性
self.head.frame = tempFrame;
}
#pragma mark 缩小
- (IBAction)small
{
// 1.取出原来的属性
CGRect tempFrame = self.head.frame;
// 2.改变临时属性
tempFrame.size.width -= 20;
tempFrame.size.height -= 20;
// 3.用临时属性覆盖原来的属性
self.head.frame = tempFrame;
}
#pragma mark transfor属性,可以(旋转、改变位置、大小)
- (IBAction)leftRotate
{
//获取按钮图像
UIButton* head =(UIButton*)[self.view viewWithTag:50];
head.transform=CGAffineTransformRotate(head.transform, -M_PI_4);
}
- (IBAction)up
{
//获取按钮图像
UIButton* head =(UIButton*)[self.view viewWithTag:50];
head.transform=CGAffineTransformTranslate(head.transform, 0,-10);
}
- (IBAction)large
{
//获取按钮图像
UIButton* head =(UIButton*)[self.view viewWithTag:50];
head.transform=CGAffineTransformScale(head.transform, 1.5,1.5);
}
@end