• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 请教一个iOS动画

请教一个iOS动画

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了请教一个问题,请教一个问题 英文,请教一个问题 英语,请教你一个问题,一个人请教一位智者等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请教一个 iOS 动画
描述:

我想在上面的第一个方块和第二个方块之间插入一个新的方块,我希望的插入动画是新的方块从中心向两边展开(类似ppt中某个动画),同时其他几个方块的宽度能够慢慢变小,最后五个方块能够等宽,就像下面这样

但是我目前的情况是其中的文字会先瞬间移动到最终的位置(也就是说方块变小的过程中文字是不居中的),然后方块的宽度再慢慢变小,不知道为什么,我都是使用autolayout写的动画,我目前的写法是先写上新的方块的top,bottom,leading,trailing约束,然后调用layoutIfNeeded,最后是写上等宽约束,在animate block里面调用layoutIfNeeded。


解决方案1:

你这个表述不太清楚。autolayout动画最重要的是把握视图的状态。一味的之调用layoutIfNeeded 只会 呈现最后一次效果。没到一个状态点都必须要保存视图状态。说简单点,也就是,动画执行完,使用layoutIfNeeded,实现效果,如果还有其他动画,就需要 使用 setNeedsLayout, 在这之后 再实现需要变动的 视图 属性;最后再次调用layoutIfNeeded;

// 大概代码就是这样:
// 首先确定 视图的最终位置;也可以是上一次动画结束
[view layoutIfNeeded];
// 然后让视图进入下一次动画准备状态
[view setNeedsLayout];
// *** 这里实现一些变化代码
view.snp.top = ....
// 最后再执行这个。如果是动画,就在 UIView animate 中执行。
[view layoutIfNeeded];
// 这样就 OK 了。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 请教一个iOS动画

相关文章

  • 2017-06-05 macbook用终端安装cocoapods时出问题后来“gem”指令失效
  • 2017-06-05 scp命令:ssh连接手机之后,把手机中的文件拷贝到电脑上
  • 2017-06-05 张馨予露全乳删除删除怎么删除提交到cocoapods上的框架?
  • 2017-06-05 绝对误差和相对误差iOS:零误差或极小误差的定时执行或延迟执行?
  • 2017-06-05 用户登入Facebook后获取用户照片信息
  • 2017-06-05 iOS基础控件ios动画移动效果实现
  • 2017-06-05 删除文件或文件夹时出错AppCode删除文件警告
  • 2017-06-05 关于UISearchController的一个问题
  • 2017-06-05 键盘弹钢琴怎样在点击按钮的时候弹出键盘?
  • 2017-06-05 iphone4价格走势图iPhone4启动图变形!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • (swift)关于Masonry为什么不会造成循环引用的问题
    • xcode使用CocoaPod打包framework时,如果在h文件中引入了其他第三方pod,打包时需要修改什么
    • iOS关于tabbar的子视图超出父视图的高度点击效果
    • 问题背后的问题读后感远程仓库的问题
    • IOS:tableView分区头重用问题
    • 机械加工设备一般安全要求IOS取设备号加密一般是如何实现的
    • iOS 常见的两种页面跳转
    • swift的异常处理机制是神马?
    • IOSApp开发和发布过程中用到的证书
    • iOSobject-C导入之前项目的文件编译报错

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有