Masonry 实现动画效果如下:

  1. //button点击方法
  2. - (void)clickedButton
  3. {
  4. static BOOL isMove; //默认是NO
  5. Weakify(weakSelf);
  6.  
  7. //告诉self.view约束需要更新
  8. [weakSelf.view setNeedsUpdateConstraints];
  9. //调用此方法告诉self.view检测是否需要更新约束,若需要则更新,下面添加动画效果才起作用
  10. [weakSelf.view updateConstraintsIfNeeded];
  11.  
  12. if (isMove) {
  13.  
  14. isMove = NO;
  15. //添加动画
  16. [UIView animateWithDuration: animations:^{
  17. [weakSelf.displayView mas_updateConstraints:^(MASConstraintMaker *make) {
  18. //更改距顶上的高度
  19. make.top.equalTo(weakSelf.baseView.mas_bottom).with.offset();
  20. }];
  21.  
  22. //必须调用此方法,才能出动画效果
  23. [weakSelf.view layoutIfNeeded];
  24. }];
  25. }
  26. else{
  27.  
  28. isMove = YES;
  29. //添加动画
  30. [UIView animateWithDuration: animations:^{
  31.  
  32. [weakSelf.displayView mas_updateConstraints:^(MASConstraintMaker *make) {
  33. //更改距顶上的高度
  34. make.top.equalTo(weakSelf.baseView.mas_bottom).with.offset(-);
  35. }];
  36. //必须调用此方法,才能出动画效果
  37. [weakSelf.view layoutIfNeeded];
  38. }];
  39. }
  40. }

重点说明:

UIView和Masonry实现动画效果的更多相关文章

  1. 实现多个UIView之间切换的动画效果

    @interface RootViewController (){ UIView *view1; UIView *view2; int flag; } @end @implementation Roo ...

  2. UIView动画效果

    做出UI界面,实现程序功能,是重中之重,但是通过动画提升使用体验,一般人应该不会拒绝吧. 那么问题又来了,怎么做? 一: 稳扎稳打: 一步一步来吧,毕竟,心急吃不了热豆腐. 1.开启一个动画 2,设置 ...

  3. 自定义UIView动画效果

    最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:]; / ...

  4. IOS开发-UIView之动画效果的实现方法(合集)

    http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化 ...

  5. UIView动画效果之----翻转.旋转.偏移.翻页.缩放.取反的动画效

    翻转的动画 //开始动画 [UIView beginAnimations:@"doflip" context:nil]; //设置时常 [UIView setAnimationDu ...

  6. iOS UIView动画效果 学习笔记

    //启动页动画 UIImageView *launchScreen = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds]; ...

  7. Masonry整体动画更新约束

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  8. iOS动画效果和实现

    动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,Core Animation提供了丰富的api来实现你需要的动画效果. UIKit只用UIView来展示 ...

  9. tableView简单的动画效果

    tableView 中一些动画效果通常都是实现willDisplayCell的方法来展示出一些动画的效果 (1).带有3D效果的小型动态展示 -(void)tableView:(UITableView ...

随机推荐

  1. HDU 1143 Tri Tiling 递归问题

    将一个3*n的矩形用1*2的矩形填充,n为奇数时一定不能被填满,n*3%2==1 接下来处理这个问题我们要从简单的情况开始考虑,所谓递归就是要能将问题的规模不断减小,通过小问题的解决最后将复杂问题解决 ...

  2. js中实现子页面向父页面中赋值

    (方法一) 父页面: <input id="input1" type="text"/> <a href="javascript:wi ...

  3. Qt .pro文件配置大全!

    避免以后的无意义重复劳动,将用过的所有的头文件库文件的配置都放在这里,以后要用的话直接copy就好. eigen3: INCLUDEPATH += \ /usr/local/include/eigen ...

  4. outlook2013 解决附件大小限制

    1.先关闭outlook,然后点击"运行"-->输入"regedit" #打开注册表 2.依次打开  “HKEY_CURRENT_USER\Softwar ...

  5. CCF 201509-2 日期计算 (水题)

    问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2) 年份是400的整数倍. ...

  6. LeetCode: 496 Next Greater Element I(easy)

    题目: You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset ...

  7. 《剑指offer》面试题1:为类CMyString添加赋值运算符函数——C++拷贝构造函数与赋值函数

    题中已给出CMyString的类定义,要求写赋值运算符函数. #include<iostream> #include<cstring> using namespace std; ...

  8. Fitnesse 访问日志配置

    1. 在build.xml中修改Finesse运行时的参数 <target name="run" depends="compile, compile-bootstr ...

  9. ThinkPHP3.2.3学习笔记5---模板(一)

    一.模板简介 此文中的学习笔记部分资料是来自于thinkphp官方文档,http://document.thinkphp.cn/manual_3_2.html#template 本章的内容主要讲述了如 ...

  10. RobotFramework特性总结

    robotframework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时编写多种类型的客户端或者接口,可以进行分布式测试执行.主要用户轮次很多的验收测试和验 ...