UI基础_transform

  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
时间: 2024-10-14 00:18:24

UI基础_transform的相关文章

ios开发-UI基础-超级猜图

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 本篇文章介绍一个比较综合的小应用----超级猜图. 功能分析: 根据显示的图片,在下面的待选项按钮中选中正确答案按钮,选中的按钮会显示在正确答案按钮中 答案错误,答案颜色变为红色,分数减小 答案正确,答案颜色变为蓝色,两秒自动跳入下一题,分数增加 点击"下一题"可以进入下一个题目 点击"大图",可以放大显示图片,再次点击图片或者背景,图片缩小至原来大小 点

ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 前几篇文章介绍了一个应用管理的小应用,从最开始的单纯实现功能,一步一步就行改进\封装,上篇文章是使用xib进行了优化,本篇文章使用代理实现监听下载按钮的点击. 在原来的基础上,使用代理的主要思路分析: 首先要新建一个协议 声明协议的要实现的方法(一般为optional) 声明一个遵守该协议的代理的属性 使用代理,通知其代理完成操作 在代理中的实现步骤: 遵守协议 设置代理(一般通过拖线

UI基础控件UIButton

一:UI基础 Button控件 1,简单说明:UIView和UIViewController间的关系 一个应用并不一定要有UIViewController,但是为了管理界面事件(比如按钮点击事件)一般我们在创建应用时要先创建控制器,控制器拥有一个UIView属性. UIView用来展示数据.及用户输入数据.监听事件的触发(比如按钮的touchupinside事件) 而控制可以用来处理这些事件,赋值UIView的管理. 按钮可以展示文字和图片,也就是说按钮具有这些属性. 2,按钮的三种状态 nor

Android UI基础

Android UI概述 Android UI由View和ViewGroup组成. ViewGroup是不可见的,用于组织和排版View和ViewGroup. View用户显示内容,以及响应用户的操作. 可以按照需要安排UI的叠放,不过叠放的层数越少,性能上来说越好. Android UI可以在code中生产,不过更加方便的方式是在Android的XML文件中定义UI. Layouts 通过XML方式实现 可以通过2种方式定义界面结构. 1. 在XML定义视图结构 2. 在运行时动态创建视图结构

转发-UI基础教程 – 原生App切图的那些事儿

UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切图虽然简单,但还是有很多地方需要注意的,下面由tgideas的 LV主唱大人 跟大家讲讲原生App切图的那些事儿,对UI入门或需了解APP切图的设计师来说会有帮助哦. 如何切图? 了解iphone界面的尺寸 最小的分辨率是320×480,我们把这个尺寸定为基准界面尺寸(baseline),基准尺寸所

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

ios开发UI基础—Kvc简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

IOS开发UI基础—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI基础-在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Im

iOS开发UI基础—xib的简单使用

iOS开发UI基础-xib的简单使用 一.简单介绍 xib和stotyboard的比较,一个轻量级一个重量级. 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和内部的控件 完成后的单个view 3.使用xib文件的代码示例 YYViewController.m文件代码如下: 1 // 2 // YYViewController.m 3 // 10