iOS 开发中问题 ——使用xib拖拽控件操作其约束并添加动画没有效果的问题
2015-07-10 09:47
996 查看
在iOS开发过程中会遇到使用xib拖拽控件,为了适配多种屏幕而向控件添加约束的过程,但是控件一旦添加了约束之后,操作其frame就变得并不如意了,这样可以通过拖拽添加的约束线到类文件中成为属性,或者成员变量。之后对约束进行操作,就可以解决不能操作其位置的问题,但是要想实现动画效果,仅仅使用[UIView animateWithDuration:x animations:^(block)];运行之后,发现并没有动画效果,这个问题需要注意:
两个重要的注意事项:您需要调用
layoutIfNeeded动画块内。苹果公司其实建议你称之为一次之前要确保所有挂起的布局操作已完成的动画块
您需要调用它专门在父视图上 (例如
self.view),不能在子视图具有附加到它的约束。这样做将更新所有约束视图,包括动画可能会认为,你改变了的约束约束其他视图 (如视图
B 附加到底部的视图 A 和您刚刚更改视图的顶部偏移量和你想要使用它进行动画处理的视图 B)
[self.view layoutIfNeeded] [UIView animateWithDuration:5 animations:^{
//进行控件的约束属性操作;
[self.view layoutIfNeeded]; // Called on parent view }];
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Gifski:一个跨平台的高质量 GIF 编码器
- flex 控件的重要属性
- 模仿动画的放大缩小容器
- Delphi控件ListView的属性及使用方法详解
- web下载的ActiveX控件自动更新
- WinForm实现按名称递归查找控件的方法
- C#中父窗口和子窗口之间控件互操作实例
- MFC中动态创建控件以及事件响应实现方法
- WinForm自定义函数FindControl实现按名称查找控件
- php判断GIF图片是否为动画的方法
- WinForm拖拽控件生成副本的解决方法
- ASP.NET动态添加用户控件的方法
- ASP.NET的HtmlForm控件学习及Post与Get的区别概述