问题标签 [catransaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1225 浏览

ios - Called within transaction When UIsearch Bar clicked and keyboard showed

I did a ViewController where there is a button and UITextfield when I click the button a UITableViewController with a UISearchBar is presented and a list of languages is displayed. My issue is when I run the app the first time I click the button and then click the UISearchBar on my console I have this warning

SearchDebugApp[2237:558457] +[CATransaction synchronize] called within transaction SearchDebugApp[2237:558457] +[CATransaction synchronize] called within transaction SearchDebugApp[2237:558457] +[CATransaction synchronize] called within transaction SearchDebugApp[2237:558457] +[CATransaction synchronize] called within transaction

this message happens only the first time I click on the UISearchBar nothing seems to go wrong with the app so I don't now why this is happening and how should I debug it .

I searched on this message warning I found out that This happens when more than one animation are taking place on main thread but in my app the only animation that is happening is when the keyboard is showed .

You can clone project here

0 投票
1 回答
598 浏览

ios - 如何让 CATransaction 无限重复?- 斯威夫特

我有一个动画函数,其中包含CATransaction.begin() 我希望这个动画无限重复或重复定义的次数。我该如何做到这一点?

如果您需要查看代码,这是 animate 函数:

0 投票
1 回答
1021 浏览

ios - CATransaction:如何取消?

我在CALayer上有以下交易:

由于交易持续了两秒钟,因此有时我必须取消/暂停。这可能吗?

0 投票
1 回答
1100 浏览

ios - +[CATransaction synchronize] 搜索时在事务内调用

我实现了一个 searchController 并添加了 navigationItem。

那是代码:

当我在 searchBar 中单击以写入内容时,控制台中会出现此警告:

NameOfProject[9238:211033] +[CATransaction synchronize] 在事务中调用 NameOfProject[9238:211033] +[CATransaction synchronize] 在事务中调用 NameOfProject[9238:211033] +[CATransaction synchronize] 在事务中调用 NameOfProject[9238:211033] +[ CATransaction synchronize] 在事务中调用

拜托,有人知道如何解决这个问题吗?

提前致谢!!

0 投票
1 回答
1330 浏览

ios - Swift - GMSMarker 沿 GMSPath 的 CLCoordinate 数组移动(适用于 iOS 的 Google Maps SDK)

在谷歌地图中,​​所有在坐标之间动画标记移动的尝试都指向在 Swift 中使用以下代码片段:

举个例子,这里是投票最多的 SO 帖子: 如何在 Objective c 中沿坐标平滑移动 GMSMarker

当在起点和终点坐标对之间进行动画处理时,这可以正常工作。但是,我正在寻找从 GMSPath 中的起始坐标到结束坐标的动画。当遍历路径中的点时,唯一显示的动画在最后两个坐标之间。标记仅出现在倒数第二个点并动画到最后一个点。

这是我的 ViewController 代码。它正在接收一段路由作为编码路径(为了测试,第一个编码路径:“ika~Exi|vN|AaDzAyCTc@N[lBeEvB_ExBkExBmEjBwDXo@”)。

该代码正在遍历 GMSPath 对象内的所有存储坐标,并尝试使用上面发布的代码段进行动画处理。如前所述,它仅显示最后两点之间的动画。

我尝试将所有代码集放在 ViewDidLoad、ViewDidAppear 和 ViewWillAppear 中。ViewDidLoad 将缩放级别保持在洲际。ViewDidAppear 和 ViewWillAppear 适当地进行了放大,并导致了本文中提到的动画问题。该代码目前在 ViewDidAppear 和 ViewWillAppear 之间进行拆分,但如果单独放置在任一方法中,其作用相同。

0 投票
1 回答
669 浏览

ios - 为什么 CATransaction.setCompletionBlock 似乎没有被调用

以下代码适用于我可以访问的所有设备模拟器。但是,一些用户报告了导致我认为在某些情况下没有调用完成块的问题。我现在不知道。有什么建议吗?

顺便说一句,我想要实现的是弹出和推送屏幕过渡动画。在这一点上,我愿意接受任何解决方案或解决方法。提前致谢。

来自doc的额外文件:

0 投票
1 回答
73 浏览

swift - CATransaction 动画问题

我有一个CAShapeLayer并试图为几个属性设置动画。我一开始确实使用CABasicAnimation过,但是由于这个循环一遍又一遍,我需要最有效的方法来做到这一点。

以下代码动画正确:

Strait and Unstraight 是按顺序调用的,从不重复调用。

问题

第一次,动画以适当的持续时间工作。当 Strait 第一次打电话和 Unstraight 第一次打电话时。在那之后,他们似乎失去了动画持续时间。变化似乎是瞬间的。

0 投票
1 回答
381 浏览

ios - 将 ViewController 缩小为圆形过渡 - swift

我正在尝试按照此项目中的示例创建扩展/收缩视图控制器转换。在我的例子中,正在呈现的视图控制器将具有与按钮本身相同的背景颜色,因此这个动画本质上只是按钮扩展以覆盖整个屏幕而不会消失。

在此处输入图像描述

https://github.com/AladinWay/TransitionButton

我已将我的按钮放在屏幕的右下角,并设法使用以下功能使其展开:

现在我正在尝试创建动画以关闭视图控制器,这将基本上反转初始动画并将整个屏幕缩小回屏幕底部的圆形按钮。我不确定如何调整上面的代码来扭转这种情况。

0 投票
1 回答
128 浏览

swift - UIView 实时复制另一个视图的 CAAnimation?

所以我有一个带有渐变子图层的背景视图,不断地动画以缓慢地改变颜色。我用 a 来做CATransaction,因为我还需要为其他属性设置动画:

现在我想复制这个渐变动画,比如说,一个按钮的标题。

期望的结果

注意 1:如果可能的话,我不能只在按钮上“打个洞”,因为我可能在按钮和背景之间有其他不透明的视图。

注意 2:按钮上的渐变位置并不重要。我不希望文本渐变复制下面的确切颜色,而是模仿背景的“情绪”。

因此,当创建按钮时,我将其渐变子层添加到注册层列表中,后台管理器也会更新:

因此,虽然在动画的下一次迭代中为文本渐变设置动画很容易,但我更希望按钮在添加后立即开始动画,因为动画通常需要几秒钟。如何复制背景动画,即将文本渐变设置为背景动画的当前状态,并使用右持续时间左和定时功能对其进行动画处理?

0 投票
0 回答
97 浏览

ios - 使用 CATransaction 批量更新 UITableView 期间出现 UITableViewAlertForLayoutOutsideViewHierarchy 错误

我的应用程序使用tableView通过批量更新更新的。

单元格有一个indicatorImage取决于表的部分。当单元格在部分之间移动时,此指示器会发生变化,我想为指示器图像的变化设置动画。
为此,我首先使用tableView.performBatchUpdates动画单元格的删除、插入和移动。
其次,我将批量更新嵌入到一个CATransaction块中以动画化图像更改。

这在一个例外情况下非常有效:如果在表格视图更新期间应该显示警报,我的应用程序会在UITableViewAlertForLayoutOutsideViewHierarchy断点处停止。

这是代码:

我的问题是:

该错误的原因可能是什么,我该如何避免它?

PS:我已经阅读了这个问题,但它没有答案,相反,我UIWindow的被定义了。