iOS开发transform的使用
//
// ViewController.m
// 18-transform的使用
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic,assign)CGFloat ty;
- (IBAction)up:(id)sender;
- (IBAction)big;
- (IBAction)rotate;
- (IBAction)reset;
@end
@implementation ViewController
- (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.
}
/**
向上向下向左向右
@param sender <#sender description#>
*/
- (IBAction)up:(id)sender {
// NSLog(@"up");
//通过父控件拿到按钮
//可以通过父类拿到子类
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
//2 通过fransform让头像向上走
//tx 水平方向移动的范围
//ty 竖直方向移动的范围
/**
CGAffineTransformMakeTranslation
使用这个方法进行设置,每次变化都是以原始值进行
变化的
@param 0 <#0 description#>
@param -10 <#-10 description#>
@return <#return value description#>
*/
//方法1: 开辟成员变量耗性能
// self.ty-= 10;
// headBtn.transform = CGAffineTransformMakeTranslation(0, self.ty);
/**
方法2:
CGAffineTransformTranslate
使用这个方法每次都是以CGAffineTransform 值进行变化的
@param t#> <#t#> description#>
@param tx#> <#tx#> description#>
@param ty#> <#ty#> description#>
@return <#return value description#>
*/
headBtn.transform = CGAffineTransformTranslate(headBtn.transform, 0, -10);
}
//放大 缩小
- (IBAction)big {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
headBtn.transform = CGAffineTransformScale(headBtn.transform, 1.5, 1.5);
[UIView commitAnimations];
}
/**
旋转
*/
- (IBAction)rotate {
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
headBtn.transform = CGAffineTransformRotate(headBtn.transform, M_PI_4);
}
/**
复位
*/
- (IBAction)reset {
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
headBtn.transform = CGAffineTransformIdentity;
}
@end
iOS开发transform的使用的更多相关文章
- Hello_IOS ios开发transform属性
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- ios开发transform属性
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- iOS开发 -------- transform属性(形变)
一 transform属性 在OC中,通过transform属性可以修改对象的平移,比例和旋转角度 常用的创建transform结构体的方法分两大类 (1) 创建"基于控件初始位置&qu ...
- iOS开发基础篇-transform属性
一. transform 属性 在OC中,通过 transform 属性可以修改对象的平移.缩放比例和旋转角度. 1)创建“基于控件初始位置”的形变 CGAffineTransformMakeRot ...
- iOS开发系列--打造自己的“美图秀秀”
--绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
- iOS开发——创建你自己的Framework
如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可 ...
- iOS开发系列--无限循环的图片浏览器
--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
随机推荐
- Android的Button按钮,ACTION_UP事件不触发解决方案
在android 编程时,有时候要实现当Button一直按下的时候,执行一些逻辑代码,当按钮弹起的时候,终止这些逻辑代码的执行. 比如在 设置页面的滑动开关时,如果不监听ACT ...
- Ubuntu 如何downgrade降级系统
大家都熟悉通过网络upgrade升级Linux系统,这里要介绍的是如何downgrade降级系统.背景情况是这样的:我将系统升级到feisty h3之后,发现libvte-0.15.3有个bug,会影 ...
- ajax, jQuery, jQueryeasyUI
1.ajax与jQueryajax是jquery库里面的一个被封装好的函数,可以拿来直接使用.没有jquery的话,ajax的使用就得用原生的javascript去写,比较麻烦. 2.jQuery E ...
- Elasticsearch报警插件Watch安装以及使用
参考:http://blog.csdn.net/ptmozhu/article/details/52296958 http://corejava2008.iteye.com/blog/2214279 ...
- Zabbix Trigger表达式实例
Zabbix提供强大的触发器(Trigger)函数以方便进行更为灵活的报警及后续动作,具体触发器函数可以访问https://www.zabbix.com/documentation/2.0/manua ...
- You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgrou
最近有个同事问我,他工程运行时就会有如下提示,但是不影响功能:You've implemented -[<UIApplicationDelegate> application:didRec ...
- spring cloud 之 Feign 使用HTTP请求远程服务
一.Feign 简介 在spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLCo ...
- 简单获取cpu使用率,以及后台运行的问题
做了一个运维平台,有一个功能定时执行一个脚本,获取cpu使用率和内存使用情况到监控平台. 获取cpu使用率使用的是top中的信息.直接运行没有问题.通过nohup xxx.sh & 之后获取不 ...
- rhel 7 设置默认运行级别为图形
查看默认级别 # systemctl get-default multi-user.target # cat /etc/inittab # inittab is no longer used when ...
- Android ListView滚动条配置完全解析
滚动条的相关显示效果 先来看下ListView的滚动条有哪些显示效果. 滚动条自身的外观 这点不用说,就是滚动条自身的颜色,形状等. Track的外观 默认的ListView是没有设置Track的.为 ...