iOS - UITextField输入错误的震动动画
2016-03-31 10:34
417 查看
//左右震动效果 - (void)shake:(UIView *)view { CGRect frame = view.frame; CAKeyframeAnimation *shakeAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; CGMutablePathRef shakePath = CGPathCreateMutable(); CGPathMoveToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2, frame.origin.y+frame.size.height/2); int index; for (index = 3; index >=0; --index) { CGPathAddLineToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2 - frame.size.width * 0.02f * index, frame.origin.y+frame.size.height/2); CGPathAddLineToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2 + frame.size.width * 0.02f * index, frame.origin.y+frame.size.height/2); } CGPathCloseSubpath(shakePath); shakeAnimation.path = shakePath; shakeAnimation.duration = 0.5f; shakeAnimation.removedOnCompletion = YES; [view.layer addAnimation:shakeAnimation forKey:nil]; CFRelease(shakePath); }
相关文章推荐
- E QUERY [thread1] TypeError: db.foo.batchInsert is not a function :
- 微软 Build 2016年开发者大会发布多项功能升级
- UITableViewAutomaticDimension
- AIX /var/adm/wtmp: Value too large to be stored in data type.
- EasyUI datagrid表格双击操作的实现
- UISearchBar
- opencv在iOS中的使用[几个滤波]以及uiimage与iplimage互转
- ios UIScrollview UIImageView点击事件处理
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- UIAlertControllr的使用
- Druid基本配置及内置监控使用
- UITableView滚动到底部(用于评论回复)
- UIImage,CGImage和CGImageRef 区别
- continue 与break 的区别
- IOS学习笔记45--UITableView性能优化
- NSTimer 回调事件被UI交互阻塞的解决方法
- UISplitViewController
- 使用SoapUI 测试Web Service
- UIView的一个弹出动画
- iOS之搜索框UISearchController的使用(iOS8.0以后替代UISearchBar+display)