- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望从其 super 层中删除 CALayer,而不使用动画。这里发生的事情是图层动画到一个位置,效果很好,但是当动画停止时,执行此代码,将图层返回到其开始位置,并淡出;大概然后从 super 层中删除。如何阻止它动画 -removeFromSuperlayer ?对于未注释和未注释、事务或无事务的所包含注释的所有变体,此处列出的代码具有相同的行为。我错过了什么?
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
//[self setHidden: YES];
//[CATransaction flush];
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
forKey:kCATransactionDisableActions];
//[CATransaction setDisableActions: YES];
//[CATransaction setAnimationDuration: 0];
[self removeFromSuperlayer];
[CATransaction commit];
}
我一直在寻找,这段代码与我发现的没有任何不同。
最佳答案
您可以通过在 super 层上设置 Action 字典来禁用隐式动画,以针对涉及子层的动画返回 null(类似于我的答案 here ):
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"sublayers", nil];
superlayer.actions = newActions;
[newActions release];
您可能还需要覆盖图层(而不是 super 图层)的 onOrderOut 操作以防止出现这种情况。我在链接的答案中展示了如何做到这一点。
关于iphone - 无法禁用 CALayer>>removeFromSuperlayer 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133547/
我想利用 CALayer 提供的隐式动画,但我似乎无法让它工作。在我的 View Controller 中,我声明了一个实例变量 CALayer *testLayer。我用这段代码实例化了 testL
我希望从其 super 层中删除 CALayer,而不使用动画。这里发生的事情是图层动画到一个位置,效果很好,但是当动画停止时,执行此代码,将图层返回到其开始位置,并淡出;大概然后从 super 层中
我正在制作一个应用程序,它应该从触摸点绘制对象。 我正在使用 CAShapeLayer 和 UIBezierPath,但是当我使用 removeFromSuperlayer() 时没有任何反应。 我需
我在同步一组函数调用时遇到了一些问题。我想要实现的是 显示我的第一个 View 并允许它捕获鼠标坐标 删除我的第一个 View ,然后根据第一步中的鼠标坐标使用 CGWindowListCreateI
对于 Swift 中的 iOS 应用程序,我使用扩展方法向自定义 UICollectionViewCell 子类中的 UIView 添加渐变层。 extension UIView {
我是一名优秀的程序员,十分优秀!