博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UI基础_transform
阅读量:7097 次
发布时间:2019-06-28

本文共 2077 字,大约阅读时间需要 6 分钟。

  1. #import "ViewController.h"
  2. typedef enum
  3. {
  4.     ButtonTypeLeft = 1,
  5.     ButtonTypeRight,
  6.     ButtonTypeUp,
  7.     ButtonTypeDown,
  8.     ButtonTypeRotleL,
  9.     ButtonTypeRotleR,
  10.     ButtonTypeScaleUp,
  11.     ButtonTypeScaleDown
  12. }ButtonType;
  13. @interface ViewController ()
  14. @property (strong, nonatomic) IBOutlet UIView *viewMan;
  15.  @end

 

  1. @implementation ViewController
  2. - (IBAction)buttonDirectionClicked:(UIButton *)sender
  3. {
  4.     //获取屏幕的宽度、高度
  5.     NSInteger screenWidth = self.view.frame.size.width;
  6.     NSInteger screenHeight = self.view.frame.size.height;
  7.     //获取viewMain的位置信息
  8.     CGRect rect = self.viewMan.frame;
  9.     //设置移动的尺寸
  10.     NSInteger offSet = 10;
  11.     switch (sender.tag) {
  12.         case ButtonTypeLeft:
  13.             rect.origin.x -= offSet;
  14.             if (rect.origin.x <= -rect.size.width ) {
  15.                 rect.origin.x = screenWidth;
  16.             }
  17.             break;
  18.         case ButtonTypeRight:
  19.             rect.origin.x += offSet;
  20.             if (rect.origin.x >= screenWidth) {
  21.                 rect.origin.x = -rect.size.width;
  22.             }
  23.             break;
  24.         case ButtonTypeUp:
  25.             rect.origin.y -= offSet;
  26.             if (rect.origin.y <= -rect.size.height) {
  27.                 rect.origin.y = screenHeight;
  28.             }
  29.             break;
  30.         case ButtonTypeDown:
  31.             rect.origin.y += offSet;
  32.             if (rect.origin.y >= screenHeight) {
  33.                 rect.origin.y = -rect.size.height;
  34.             }
  35.             break;
  36.     }
  37.     self.viewMan.frame = rect;
  38. }
  39. - (IBAction)buttonRotale:(UIButton *)sender
  40. {
  41.     CGAffineTransform form = self.viewMan.transform;
  42.     switch (sender.tag) {
  43.         case ButtonTypeRotleL:
  44.             form = CGAffineTransformRotate(form, -M_2_PI/2);
  45.             break;
  46.         case ButtonTypeRotleR:
  47.             form = CGAffineTransformRotate(form, M_2_PI/2);
  48.         default:
  49.             break;
  50.     }
  51.     self.viewMan.transform = form;
  52. }
  53. - (IBAction)buttonScale:(UIButton *)sender
  54. {
  55.     CGAffineTransform form = self.viewMan.transform;
  56.     CGFloat scaleFator = 0.0f;
  57.     switch (sender.tag) {
  58.         case ButtonTypeScaleUp:
  59.             scaleFator = 1.5;
  60.             break;
  61.          case ButtonTypeScaleDown:
  62.             scaleFator = 0.5;
  63.     }
  64.     form = CGAffineTransformScale(form, scaleFator, scaleFator);
  65.     self.viewMan.transform = form;
  66. }
  67. - (void)viewDidLoad {
  68.     [super viewDidLoad];
  69.     // Do any additional setup after loading the view, typically from a nib.
  70. }
  71. - (void)didReceiveMemoryWarning {
  72.     [super didReceiveMemoryWarning];
  73.     // Dispose of any resources that can be recreated.
  74. }
  75. @end

 

转载于:https://www.cnblogs.com/xjf125/p/4761395.html

你可能感兴趣的文章
Linux 小知识翻译 - 「分区」
查看>>
Linux 小知识翻译 - 「cron」
查看>>
[Sass]局部变量和全局变量
查看>>
docker 一些简略环境搭建及部分链接
查看>>
android studio获取SHA1
查看>>
怎么才能在windows使用git命令
查看>>
Sigar应用
查看>>
从单体架构到微服务的演变之路
查看>>
Valgrind内存泄露检测工具使用初步
查看>>
PDF 补丁丁 0.5.0.2657 发布
查看>>
vue之axios使用
查看>>
VBA批量删除excel表高级版
查看>>
docker & nodejs & mongodb
查看>>
css 清除浮动
查看>>
Python_Selenium学习笔记(2)-浏览器操作方法
查看>>
excel自定义函数添加和使用方法
查看>>
C# 压缩组件介绍与入门
查看>>
结对学习心得感想及创意照
查看>>
sug
查看>>
windows 环境变量
查看>>