iOS边练边学--transform的简单介绍并且用transform实现键盘处理
2016-03-21 15:53
363 查看
一、transform:形变属性,能完成功能:平移,缩放,旋转
<平移>
<缩放>
<旋转>
二、transform的叠加
三、清空transform--清除transform,不管是混合的还是单个的
四、transform键盘处理,第一次用的是修改约束,这次用transform,直接将self.view向上平移键盘的高度
<平移>
// 根据给的移动距离平移 self.tempView.transform = CGAffineTransformMakeTranslation(100, 100);
<缩放>
// 根据给的缩放比例缩放,给负值,旋转缩放 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(100, 100); // 叠加上一个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(0, - ty); }]; }
相关文章推荐
- iOS开发 - runtime运行时一些实用方法
- iOS添加蒙层(遮盖层),遮盖层上放控件
- 获取DeviceToken值,iOS推送
- iOS知识 exclusiveTouch
- iOS经典资料收集
- KVO的概述与使用
- iOS的socket开发基础
- iOS开发调试
- iOS 禁止横屏
- iOS证书失效
- 超全!整理常用的iOS第三方资源
- IOS开发之Quartz2D绘图的使用
- iOS离线缓存
- ios .a静态库和framework静态库的创建以及使用
- 三言两语frame&bounds
- iOS WebView调用JS的一个小坑
- 搜索图标居中的搜索框~iOS风格搜索框
- iOS自定义加载等待视图-MBProgressHUD
- iOS 之 GCD(1)
- iOS7新特性 edgesForExtendedLayout