处理 iOS 10 中的 AutoLayout 约束动画差异?

2024-03-22

我注意到在 iOS 10 Beta 5(即将尝试 Beta 6)中,AutoLayout 约束动画的行为有点不同。

例如,此方法的工作方式与之前的 iOS 版本不同:

[view addConstraints:@[constraints...]];

[view setNeedsUpdateConstraints];
[view layoutIfNeeded];

[UIView animateWithDuration:...
{
    /* adjust constraint here... */
    [view layoutIfNeeded]; // Only the adjusted constraints since previous layoutIfNeeded() call should animate change with duration.

} completion:{ ... }];

...在我的测试中,约束最初添加为addConstraints() will also在 iOS 10 中使用 UIView 制作动画animateWithDuration()阻止...到目前为止,这导致了一些奇怪/不良的行为。

例如,在数组中设置左/右约束(但在块中设置垂直约束)使整个视图以对角线方式显示在屏幕上用这种方法......这是完全不正确的。

有谁知道如何在 iOS 9(及更低版本)和 10 上正确执行此操作?


尝试打电话layoutIfNeeded在视图的超级视图上,而不是视图本身。

--

我遇到了类似的问题,我的视图应该从顶部 0 高度开始动画,向下到 > 0 高度(即 (0, 0, 320, 0) 到 (0, 0, 320, 44))。

将 Xcode 8 与 iOS 10 结合使用时,动画行为有很大不同。视图不是从顶部向下动画,而是从目标帧的垂直中心向上和向下动画。

我解决了这个问题,而不是打电话layoutIfNeeded在视图本身上,在视图的超级视图上调用它。不知何故,行为又恢复了。

希望能帮助到你!


Helpful comment by @Ramiro:

根据文档,layoutIfNeeded布置子视图(但不考虑当前视图本身)。因此,为了更新当前视图布局,您需要调用layoutIfNeeded从超级来看。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理 iOS 10 中的 AutoLayout 约束动画差异? 的相关文章

  • 在开始动画之前修改 iPhone 动画容器视图

    我正在向我正在开发的纸牌游戏添加一些基本动画 我的第一个 iPhone 应用程序 我正在创建一个自定义 UIView 类 AnimationContainer 它从 image1 翻转到 image2 同时从 rect1 移动到 rect2
  • 向下滑动显示textview动画

    我有兴趣在我的 Android 应用程序中添加一个切换 TextView 可见性的动画 我希望它不只是将可见性设置为 Visibility GONE 和 Visibility VISIBLE 相反 我希望它具有类似 jquery 的幻灯片效
  • 使用约束对 UIView 框架进行动画处理

    我在 UIView 中有一个元素 它有一个约束 规定它应该始终距离视图底部 10 像素 然后 我尝试为该视图的高度设置动画 使其看起来从屏幕上滑下 根据约束 元素应始终距视图底部 10 像素 当我像这样添加视图时 这是正确的 printVi
  • jQuery while 循环不等待动画

    我有一个 jQuery 函数可以执行以下操作 clone 在一个物体上 然后 insertAfter and a slideDown 在克隆的对象上 整个函数被包装在一个while环形 我将尽可能简短并展示一个通用示例 while stat
  • WPF Square 自动调整父容器大小

    我有一个UniformGrid我的 WPF 项目中的对象有 2 行和 3 列 其宽度和高度设置为自动 两种对齐方式都设置为拉伸 该网格将容纳 6squares我想尽可能多地填充他们的单元格 并水平和垂直居中 我需要添加什么才能允许方块根据父
  • UITableViewCell 中的自动布局 UILabel

    我正在使用 autoLayout 并且对它很陌生 我有一个如下所示的 UITableView Cell UITableViewCell 高度是动态的 因此它的高度根据文本而变化 我有两个标签 A 和 B 它们可以有可变长度的文本 但宽度是固
  • 颤动中闪闪发光的动画

    我想在flutter中制作一个闪闪发光的动画 如何在颤振中做到这一点 我建议采用定制油漆方法 我的 awswer 是高度可定制的 我只更改innerOuterRadiusRatio 和速度 您可以更改颜色或不透明度 星形的边数 旋转 ang
  • 自定义 android AccelerateDecelerateInterpolator

    我正在尝试使用 AccelerateDecelerateInterpolator 并自定义它 我可以看到像 DecelerateInterpolator 这样的插值器有一个 因子 字段 因此您可以更改其行为 但 AccelerateDece
  • AVCaptureDevice isFlashModeSupported 已弃用 iOS 10

    我正在使用 AVCaptureDevice 的实例方法 isFlashModeSupported 如下所示 NSArray captureDeviceType AVCaptureDeviceTypeBuiltInWideAngleCamer
  • 何时调用layoutSubviews?

    我有一个自定义视图没有得到layoutSubview动画期间的消息 我有一个充满屏幕的视图 它在屏幕底部有一个自定义子视图 如果我更改导航栏的高度 它可以在 Interface Builder 中正确调整大小 layoutSubviews在
  • linux终端动画-延迟打印“帧”的最佳方法(C语言)

    我正在为终端开发一个简单的 pong 克隆 并且需要一种方法来延迟 帧 的打印 我有一个二维数组 screen ROWS COLUMNS 以及打印屏幕的函数 void printScreen int i 0 int j while i lt
  • 如何在 Xamarin.Forms 中设置不透明度动画

    我想知道如何对屏幕上可见元素的不透明度进行动画处理 例如 对于 Entry 我得到了这个 this Animate d gt Debug WriteLine anim d Username Opacity AnimationTime d A
  • 如何去掉ListView添加item的动画?

    我有一个ListView我编辑了它ItemContainerStyle修改某些样式 但我不知道如何在添加项目时删除那个烦人的动画 With an ItemsControl 当您添加新项目时 它会立即出现 没有任何动画 With ListVi
  • 如何在显示模态表时禁用 Cocoa 的默认动画?

    我想禁用 Cocoa 在显示模式表时执行的动画 Apple s 表编程指南 http developer apple com mac library documentation Cocoa Conceptual Sheets Concept
  • Safari 中的 CSS 动画延迟错误

    我最近在 Safari 中遇到了一些与 CSS 动画有关的奇怪行为 并且在操作 DOM 时无法更新元素位置 我拍了一些 GIF 来说明这一点 在 Chrome 中 http recordit co cCim1IwyMc http recor
  • 使用 iOS 7 SDK 构建时 UITextView 会自动换行

    我有一个UITextView里面一个UIScrollView效果很好iOS 6建造自xcode 4 x 但是现在构建xcode 5它无法正常工作 即使在iOS 6 问题是文本会随着屏幕宽度换行 即使UITextView and UIScro
  • 如何修复 titleView 在转换过程中被屏蔽到导航栏的问题?

    在我的视图控制器中我设置titleView to a UIView其中包含一个UIImageView在其图层上使用 setCornerRadius 将其制成圆形 圆圈的上半部分位于导航栏上方 下半部分位于视图上方 如下所示 现在 当我推动此
  • UITableViewDiffableDataSource 可以检测到项目已更改吗?

    在下面与 AndreasOetjen讨论后重写了这个问题 感谢他的评论 我在使用时遇到了问题UITableView具有不同的数据源 在我的应用程序中 当用户修改某个项目时 它可能会更改同一表视图中显示的另一个项目 问题是 在我创建并应用包含
  • 在 R 中导入 png 文件并转换为动画(.mp4)

    我正在尝试用 R 中的几个 png 文件创建一个简短的动画 我尝试了 packagemagick但只有当我将它们保存为 gif 时它才有效 当我尝试另存为 mp4 时 它将生成一个 mp4 文件 但一旦打开它 只会显示第一张图像 我的代码是
  • 如何使用 MonoTouch 为 UIButton Alpha 属性设置动画

    我有一个带有 Alpha 属性的简单 UIButton 我想将其从 1 0f 设置为 0 0f 然后再返回 1 0f 这基本上是对 TouchDown 的响应 另外 如果我调用的例程不在主线程上 在线程池上调用的异步委托 我需要做什么特别的

随机推荐

  • Android:根据屏幕尺寸限制活动方向

    我有一个应用程序 在大屏幕或超大屏幕尺寸的任一方向上看起来都不错 但在手机上应该仅限于纵向 我知道您可以限制清单中活动的方向 但是有没有办法有条件地这样做 或者我可以在活动本身中设置某种属性来选择支持哪些方向 这是我在我的应用程序中使用的解
  • 如何查找 ArrayList 中的最小值以及索引号? (爪哇)

    我需要获取 Java 数组列表中最小值的索引值 我的数组列表包含多个浮点数 我正在尝试想出一种方法来获取最小浮点数的索引号 这样我就可以在代码中的其他地方使用该索引号 我是个初学者 所以请不要讨厌我 谢谢 您可以使用集合 min http
  • req.session.passport 和 req.user Blank ,并且 req.isAuthenticated 在使用 Passport-facebook 首次成功登录后返回 false

    从 Facebook 初始成功登录并使用 Passport facebook 1 0 3 和 Express 4 6 1 进行登录重定向回调后 req session passport 和 req user 包含序列化调用期间设置的值 我从
  • 使用 fancyBox 的 HTML 属性 rel 错误

    我正在使用 fancyBox 创建一个画廊 代码如下 a class fancybox href img work 1 jpg a a class fancybox href img work 2 jpg a a class fancybo
  • Postgresql ON sqlalchemy 中的冲突

    我读过很多资源 ao 1 https bitbucket org zzzeek sqlalchemy issues 3529 support postgres 95 on conflict upserts 2 https stackover
  • 在闪亮的主面板中右对齐元素

    我有一个闪亮的应用程序 左侧有一个侧边栏 我想将 mainPanel 中的绘图向右对齐 我尝试过添加style align right mainPanel 中的每个元素 以及包装我能想到的所有内容div style align right
  • 适用于嵌入式设备的良好串行通信协议/堆栈? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在为各种项目编写了几个不同的自定义串行协议后 我开始对每次重新发明轮子感到沮丧 我一直在寻找更通用的解
  • Powershell Invoke-Sqlcmd 登录失败

    我正在尝试从 Windows SQL Server 2008 R2 的 powershell 运行 sql 查询 代码似乎无法通过 SQL Server 身份验证凭据来正确运行 sqlcmd 我直接从 powershell 运行第一部分 而
  • ExtJS AJAX 另存为对话框

    我发出 ExtJS AJAX 请求 并且希望向用户显示标准浏览器 另存为 对话框 要下载的文件可以是 pdf jpg 或 png 文件 目前 AJAX 请求已成功提交 但由于它是异步的 因此不会出现对话框 我可以简单地不使用 AJAX 但是
  • udp数据包被tcpdump捕获,但没有被套接字接收[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我编写了一个 rawudp 程序 通过原始套接字发送 udp 数据包 按照网页http www tenouk com Module43a html h
  • 使用 Zend Framework 渲染站点范围元素的最佳方法

    我正在使用 模块 前端控制器资源进行项目设置 渲染站点范围元素 例如导航 的最佳方法是什么 Add the action which renders the element to the end of the action stack ea
  • 无法从 virtualenv 导入包

    我的项目中有一个一行脚本 它导入一个包 flask mail 我在 virtualenv 中运行它 如果我执行python script py I get ImportError No module named flask mail 如果在
  • 无法将映像推送到配置为代理缓存的 docker 注册表

    我跟着this http blog docker com 2015 10 registry proxy cache docker open source 设置 Docker v2 注册表作为 Docker Hub 映像的本地代理缓存的指南
  • git中的用户访问控制

    我有一个简单的问题 我们使用 Bitbucket 作为 git 提供者 假设我是一个开发团队的经理 我希望自己成为唯一可以将代码合并到 master 分支的人 其他团队成员可以签出主分支并创建新分支 但他们无法将代码合并到主分支 我怎样才能
  • 将 pandas 数据框转换为列表

    我有一个熊猫数据框 apple banana carrot diet coke 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 我想将其转换为以下内容 apple banana carrot
  • 如何重置 iOS 9 通用链接设置?

    在我的 iOS 9 应用程序上测试通用链接时 我不小心点击了 mywebsite com gt 右上角 这使得应用程序再次导航到网站 现在我似乎无法再次使通用链接起作用 似乎 iOS 已经记住了我的偏好 即我希望看到在 Safari 而不是
  • SQL Server 中的 DateTime2 与 DateTime

    哪一个 datetime https msdn microsoft com en us library ms187819 aspx datetime2 https msdn microsoft com en us library bb677
  • 撰写:LazyColumn 在单个项目更新时重组所有项目

    我正在尝试使用 LazyColumn 在列表中显示订单列表 这是代码 Composable private fun MyOrders orders List
  • 龙卷风 vs wsgi(带gunicorn)

    I read this http rz scale it pl 2013 01 25 tornado the best web framework html关于龙卷风 另一方面 如果您已经有 WSGI 应用程序并且想要运行它 在速度极快的t
  • 处理 iOS 10 中的 AutoLayout 约束动画差异?

    我注意到在 iOS 10 Beta 5 即将尝试 Beta 6 中 AutoLayout 约束动画的行为有点不同 例如 此方法的工作方式与之前的 iOS 版本不同 view addConstraints constraints view s