博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于 NSLayoutConstraint 不执行动画的处理:
阅读量:4981 次
发布时间:2019-06-12

本文共 671 字,大约阅读时间需要 2 分钟。

在开发中  我们有时候需要改变某个空间的约束条件 也就是更改NSLayoutConstraint的值  (比如说我想在键盘顶部增加一个工具栏 让工具栏随着键盘的位置变化而变化  有一个动画效果)但是发现NSLayoutConstraint会更改偏移量 但是并不会执行动画效果:

解决方案:调用 layoutIfNeeded  及时刷新布局方式

 

代码:

// 执行动画    [UIView animateWithDuration:duration animations:^{        // 工具条的Y值 == 键盘的Y值 - 工具条的高度        if (keyboardF.origin.y >= self.view.frame.size.height) { // 键盘的Y值已经远远超过了控制器            self.bottleHeight.constant = 0;//layoutIfNeeded不调用的话是不会产生动画效果的 只会显示最终的状态            [self.view layoutIfNeeded];        } else {            self.bottleHeight.constant = keyboardF.size.height;            [self.view layoutIfNeeded];        }    }];

 

 

效果图:

 

 

参考:

转载于:https://www.cnblogs.com/gaoxiaoniu/p/5340870.html

你可能感兴趣的文章
APIO2019简要题解
查看>>
Travel to all Points 【Codechef】
查看>>
将组件拼装使用
查看>>
spring boot 初识实例及问题小结
查看>>
G面经prepare: set difference
查看>>
蓝牙的key event
查看>>
FtpHelper
查看>>
Opportunity的chance of success的赋值逻辑
查看>>
codevs1228 (dfs序+线段树)
查看>>
关于与后端接口对接,自己总结的几个原则
查看>>
webstorm 格式化代码及常用快捷键
查看>>
适配器模式-Adapter(Java实现)
查看>>
安装phpwind报错
查看>>
Python第五章(北理国家精品课 嵩天等)
查看>>
WPF中设置快捷键
查看>>
vector(C++)讲解
查看>>
Java动态编译
查看>>
[I2C].I2C总线详解
查看>>
计算机网络面试知识总结3
查看>>
数字签名与数字证书以及https
查看>>