iOS边练边学--transform的简单介绍并且用transform实现键盘处理
一、transform:形变属性,能完成功能:平移,缩放,旋转
<平移>
// 根据给的移动距离平移
self.tempView.transform = CGAffineTransformMakeTranslation(, );
<缩放>
// 根据给的缩放比例缩放,给负值,旋转缩放
self.tempView.transform = CGAffineTransformMakeScale(0.6, 0.6);
<旋转>
// 根据给的角度旋转,负数是逆时针旋转 M_PI_4(45°) M_PI_2(90°) M_PI(180°)
self.tempView.transform = CGAffineTransformMakeRotation(M_PI);
二、transform的叠加
// 累加transform,先创建一个初始的transform
CGAffineTransform translation = CGAffineTransformMakeTranslation(, );
// 叠加上一个transform,得到一个新的transform
CGAffineTransform scaleTranslation = CGAffineTransformScale(translation, -0.6, -0.6);
// 最终将混合的transform赋值给view
self.tempView.transform = scaleTranslation;
三、清空transform--清除transform,不管是混合的还是单个的
self.tempView.transform = CGAffineTransformIdentity;
四、transform键盘处理,第一次用的是修改约束,这次用transform,直接将self.view向上平移键盘的高度
- (void)keyboardChange:(NSNotification *)note
{
// 取出时间
CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
// 取出键盘最终的frame
CGRect rect = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
// 平移的距离 = 屏幕的高度 - 键盘坐标的Y值
CGFloat ty = [UIScreen mainScreen].bounds.size.height - rect.origin.y;
[UIView animateWithDuration:duration animations:^{
self.view.transform = CGAffineTransformMakeTranslation(, - ty);
}];
}
iOS边练边学--transform的简单介绍并且用transform实现键盘处理的更多相关文章
- iOS边练边学--UITabBarController的简单使用
一.UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewController为UITabBarController 根据具 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- qt-qml移动开发之在ios上开发和部署app流程简单介绍
qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...
- iOS边练边学--多线程介绍、NSThread的简单实用、线程安全以及线程之间的通信
一.iOS中的多线程 多线程的原理(之前多线程这块没好好学,之前对多线程的理解也是错误的,这里更正,好好学习这块) iOS中多线程的实现方案有以下几种 二.NSThread线程类的简单实用(直接上代码 ...
- iOS边练边学--UIScrollView的属性简单使用,代理的简单介绍以及内容缩放
一.什么是UIScrollView *移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也是相当有限 *当展示的内容较多,超出一个屏幕时,用户可通过滚动收拾来查看屏幕以外的内容 *普通的UI ...
- AJ学IOS(28)UI之Quartz2D简单介绍
AJ分享,必须精品 iOS开发UI篇—Quartz2D简单介绍 什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : ...
- iOS边练边学--自定义非等高的cell
一.使用xib或者storyboard自定义非等高的cell实现方式差不多,这里简单介绍一下通过xib文件实现的方法 <1.1>创建一个继承自UITableViewCell的子类,比如Ch ...
- iOS开发Swift篇—(一)简单介绍
iOS开发Swift篇—简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C ...
- 照猫画虎学gnuplot之简单介绍
简单介绍:Gnuplot是一个命令行驱动的科学画图工具,可将数学函数或数值资料以平面图或立体图的形式画在不同种类终端机或画图输出装置上. 它是由Colin Kelley 和 Thomas Willia ...
随机推荐
- 【LeetCode】14. Longest Common Prefix (2 solutions)
Longest Common Prefix Write a function to find the longest common prefix string amongst an array of ...
- 马老师 LNMP生产环境Web架构 笔记
http协议和缓存原理.多路IO模型: MIME机制,Multipurpose Internet Mail Extensions,多用户互联网邮件扩展.MIME使用一个简单的字符串组成,最初是为了标识 ...
- 越狱iphone在cydia下插件后出现exit safe mode肿么办小教程
http://bbs.app111.com/thread-318898-1-1.html 从简单的开始..最简单的点击状态栏会弹出来一个窗口,那窗口有三个选择请选择第二个,然后等待它重启,重启后还没消 ...
- WinDBG 常用命令表[转]
启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting) ======================= Start -> Al ...
- java程序员学习路线图 java程序员进阶路线
- class threading.Thread()说明:
class threading.Thread()说明: class threading.Thread(group=None, target=None, name=None, args=(), kwar ...
- UHF RFID编码之TPP编码
GB/T 39768通信交互模型 读写器使用TPP对基带数据进行编码,使用DSB-ASK或者SSB-ASK方式调制射频载波,向一个或者多个标签发送命令.命令发送后,读写器继续发送未经调制的射频载波,并 ...
- bug list
机型: Samsung Galaxy S GT-I9000 版本: 2.2.1bug: Couldn't create directory for SharedPreferences file xxx ...
- java与java学习路线
JAVA学习路线图 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面 ...
- xtrabackup迁移单独一张INNODB表