对约束的视图约束变化动画处理

有时候我们为了用户体验需要对约束的视图执行动画, 如下:

[UIView animateWithDuration:0.3 animations:^{

self.mButtomViewLayoutH.constant =  44;

[self.mButtomView setNeedsLayout];

}];

对self.mButtomView执行0.3秒的动画, 运行发现, 然并卵!  那怎么解决呢? 继续看...

原因在于你设置完视图后并没有通知父视图刷新约束. 所以你如下设置OK.

[UIView animateWithDuration:0.3 animations:^{

self.mButtomViewLayoutH.constant =  44;

[self.mButtomView setNeedsLayout];

[self.view layoutIfNeeded];

}];

时间: 2024-10-29 18:08:14

对约束的视图约束变化动画处理的相关文章

iOS 8 Auto Layout界面自动布局系列5-自身内容尺寸约束、修改约束、布局动画

首先感谢众多网友的支持,最近我实在是事情太多,所以没有写太多.不过看到大家的反馈和评价,我还是要坚持挤出时间给大家分享我的经验.如果你对我写的东西有任何建议.意见或者疑问,请到我的博客留言: http://blog.csdn.net/pucker 好了,言归正传.本系列的前几篇文章讲解了自动布局的原理,以及如何添加约束.这篇文章主要介绍以下内容: 某些用户控件具有自身内容尺寸约束 使用视图调试工具在运行时查看和调试程序界面视图层次.尺寸和自动布局约束 创建约束的对象关联 通过修改约束的常量值.删

iOS_book 02 - 基本交互(约束、视图控制器、基本控件:按钮、文本框、分段控件、开关、标签、图像控件)

实现基本交互 MVC模式 Cocoa Touch 设计者们采用MVC(Model-View-Controller, 模型 - 视图 - 控制器)模式作为指导原则. MVC 模式把代码功能划分为3个不同的类别. 模型: 保存应用程序数据的类. 视图:包括窗口.控件以及其他一些用户可以看到并能与之交互的元素. 控制器:把模型和视图绑定在一起的代码,包括处理用户输入的应用程序逻辑. MVC的目标最大限度地分离这三类代码.MVC可以帮助确保代码的最大可重用性. 控制器组件通常有应用程序的具体类组成.控制

iOS代码添加视图约束

项目要做这样一个效果的启动页. 考虑到版本号是会不断变更的,因此采用动画效果启动页,让版本号动态加载iOS启动页动画效果 - 简书 考虑到屏幕适配问题,因此采用代码对视图添加约束.在添加约束的过程中遇到了一些问题,在此做一下记录和总结. 代码实现autolayout的注意点: 1.要先禁止autoresizing功能,设置view 的translatesAutoresizingMaskIntoConstraints 属性为 NO; 2.添加约束之前,一定要保证相关控件都已经在各自的父控件上.(就

Swift - 自动布局库SnapKit的使用详解3(约束优先级,约束做动画)

1,约束优先级我们使用SnapKit的时候,还可以定义约束的优先级.这样当约束出现冲突的时候,优先级高的约束覆盖优先级低的约束.具体优先级可以放在约束链的结束处. (1)可以设置如下几种优先级 priorityLow():设置低优先级,优先级为250priorityMedium():设置中优先级,优先级为500(这个也就是默认的优先级)priorityHigh():设置高优先级,优先级为750priority():可以设置任意的优先级,接受的参数是0-1000的数字.比如:priority(60

Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间

alter table userInfo add(msn varchar2(20));   1.建表 create table userInfo ( id number(6), name varchar2(20), sex number(1), age number(3), birthday date, address varchar2(50), email varchar2(25), tel number(11) );   2.创建约束 不带约束名称的: create table userIn

约束、视图、序列、伪列和索引

前言 约束条件用于保证数据的完整性.主要有主键约束(primary key)/非空约束(not null).唯一约束(unique) 检查约束(check)和外键约束(foreign key). 正文 约束 主键约束(primary key) 主键约束包含了非空和唯一 create table 表名(字段名 字段类型(长度) 约束条件): 1.创建自定义名称约束 create table 表名(字段名 字段类型(长度),constraint 约束名 约束类型(字段名)): 注:可以通过user_

约束、视图与事务

约束 CHECK(检查)约束限定允许插入某个列的值.它与WHERE子句都使用相同的条件表达式. 1 CREATE TABLE piggy_bank( 2 id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, 3 coin CHAR(1) CHECK (coin IN ('P','N','D','Q')) 4 ) 如果插入的值无法通过CHECK条件,则出现错误信息. 视图 视图是一个只有在查询中使用view时才存在的表.它被称为虚拟表,因为其行为和表一样,也能执行

Visual Format Language(VFL)视图约束

约束(Constraint)在IOS编程中非常重要,这关乎到用户的直接体验问题. IOS中视图约束有几种方式,常见的是在IB中通过Pin的方式手动添加约束,菜单Editor->Pin->...但是我们往往需要更为灵活的操作,那么就要手动编写代码来实现这些操作. 1:长函数方法 Apple的工程师给我们提供了两种方式,第一种用长函数方法的形式 NSLayoutConstraint(item: <#AnyObject#>, attribute: <#NSLayoutAttribu

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i