UI基础_transform
2015-08-26 18:57
381 查看
#import "ViewController.h"
typedef enum
{
ButtonTypeLeft = 1,
ButtonTypeRight,
ButtonTypeUp,
ButtonTypeDown,
ButtonTypeRotleL,
ButtonTypeRotleR,
ButtonTypeScaleUp,
ButtonTypeScaleDown
}ButtonType;
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIView *viewMan;
@end
@implementation ViewController
- (IBAction)buttonDirectionClicked:(UIButton *)sender
{
//获取屏幕的宽度、高度
NSInteger screenWidth = self.view.frame.size.width;
NSInteger screenHeight = self.view.frame.size.height;
//获取viewMain的位置信息
CGRect rect = self.viewMan.frame;
//设置移动的尺寸
NSInteger offSet = 10;
switch (sender.tag) {
case ButtonTypeLeft:
rect.origin.x -= offSet;
if (rect.origin.x <= -rect.size.width ) {
rect.origin.x = screenWidth;
}
break;
case ButtonTypeRight:
rect.origin.x += offSet;
if (rect.origin.x >= screenWidth) {
rect.origin.x = -rect.size.width;
}
break;
case ButtonTypeUp:
rect.origin.y -= offSet;
if (rect.origin.y <= -rect.size.height) {
rect.origin.y = screenHeight;
}
break;
case ButtonTypeDown:
rect.origin.y += offSet;
if (rect.origin.y >= screenHeight) {
rect.origin.y = -rect.size.height;
}
break;
}
self.viewMan.frame = rect;
}
- (IBAction)buttonRotale:(UIButton *)sender
{
CGAffineTransform form = self.viewMan.transform;
switch (sender.tag) {
case ButtonTypeRotleL:
form = CGAffineTransformRotate(form, -M_2_PI/2);
break;
case ButtonTypeRotleR:
form = CGAffineTransformRotate(form, M_2_PI/2);
default:
break;
}
self.viewMan.transform = form;
}
- (IBAction)buttonScale:(UIButton *)sender
{
CGAffineTransform form = self.viewMan.transform;
CGFloat scaleFator = 0.0f;
switch (sender.tag) {
case ButtonTypeScaleUp:
scaleFator = 1.5;
break;
case ButtonTypeScaleDown:
scaleFator = 0.5;
}
form = CGAffineTransformScale(form, scaleFator, scaleFator);
self.viewMan.transform = form;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
typedef enum
{
ButtonTypeLeft = 1,
ButtonTypeRight,
ButtonTypeUp,
ButtonTypeDown,
ButtonTypeRotleL,
ButtonTypeRotleR,
ButtonTypeScaleUp,
ButtonTypeScaleDown
}ButtonType;
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIView *viewMan;
@end
@implementation ViewController
- (IBAction)buttonDirectionClicked:(UIButton *)sender
{
//获取屏幕的宽度、高度
NSInteger screenWidth = self.view.frame.size.width;
NSInteger screenHeight = self.view.frame.size.height;
//获取viewMain的位置信息
CGRect rect = self.viewMan.frame;
//设置移动的尺寸
NSInteger offSet = 10;
switch (sender.tag) {
case ButtonTypeLeft:
rect.origin.x -= offSet;
if (rect.origin.x <= -rect.size.width ) {
rect.origin.x = screenWidth;
}
break;
case ButtonTypeRight:
rect.origin.x += offSet;
if (rect.origin.x >= screenWidth) {
rect.origin.x = -rect.size.width;
}
break;
case ButtonTypeUp:
rect.origin.y -= offSet;
if (rect.origin.y <= -rect.size.height) {
rect.origin.y = screenHeight;
}
break;
case ButtonTypeDown:
rect.origin.y += offSet;
if (rect.origin.y >= screenHeight) {
rect.origin.y = -rect.size.height;
}
break;
}
self.viewMan.frame = rect;
}
- (IBAction)buttonRotale:(UIButton *)sender
{
CGAffineTransform form = self.viewMan.transform;
switch (sender.tag) {
case ButtonTypeRotleL:
form = CGAffineTransformRotate(form, -M_2_PI/2);
break;
case ButtonTypeRotleR:
form = CGAffineTransformRotate(form, M_2_PI/2);
default:
break;
}
self.viewMan.transform = form;
}
- (IBAction)buttonScale:(UIButton *)sender
{
CGAffineTransform form = self.viewMan.transform;
CGFloat scaleFator = 0.0f;
switch (sender.tag) {
case ButtonTypeScaleUp:
scaleFator = 1.5;
break;
case ButtonTypeScaleDown:
scaleFator = 0.5;
}
form = CGAffineTransformScale(form, scaleFator, scaleFator);
self.viewMan.transform = form;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
相关文章推荐
- UESTC 594 我要长高 单调队列优化DP
- MUI - 封装localStorage与plus.storage
- deque与vector的主要区别
- 创建虚拟机 Guest Is already in use 处理办法
- 百度编辑器ueditor初始化赋值
- IOS-笔记15(Unwind Segue,Action Sheets,Alert,NSTimer)
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
- UICollectionView(loading...)
- DuiLib属性
- 适配iPhone6和6P UITableView分割线会闪动(拖动UITableView的时候,分割线 一会儿变粗一会儿变细)解决办法
- iOS中UI适配问题
- Android UI--自定义ListView(实现下拉刷新+加载更多)
- 使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- 返回一张可以随意拉伸不变形的图片
- TextWatcher限制字数,避免栈溢出
- UI - UIGestureRecognizer 手势
- IOS中UIImage和UIColor相互转化
- iOS中keyChain 实现UUID 设备唯一标识符碰到的问题
- J2EE 中 The function valueOf must be used with a prefix when a default namespace is not specified 错误
- Crazy Circuits (hdu 3157 流量有上下限的最小流)