[[button animator] setFrame:newCGRect];
但是,我想增加按钮行进所需的时间.所以,我研究了稍微复杂的CABasicAnimation.我想我正在做的一切都正确,但NSbutton根本就没有动.
CGPoint center = CGPointMake(10,20);CALayer *layer = button.layer;layer.position = CGPointMake(button.frame.size.wIDth / 2,button.frame.size.height / 2);CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];animation.fromValue = [layer valueForKey:@"position"];[animation setTovalue:[NSValue valueWithPoint:center]];[animation setFillMode:kCAFillModeForwards];[animation setRemovedOnCompletion:NO];[animation setDuration:3.0];[layer addAnimation:animation forKey:@"position"];
这里,按钮是NSbutton.我正在将图层的位置设置到按钮的中心,因为我认为“位置”必须指向中心.然后,我正在做的就是移动(据说)按钮到中心,在一个3秒长的动画中.我将动画添加到图层,然后没有任何反应.
现在,有人知道我做错了什么吗?或者,在旁注中,无论如何都使用动画属性并设置动画的长度?
解决方法@H_419_26@ 在事务中包装隐式动画以调整动画.[CATransaction begin];[CATransaction setAnimationDuration:3];[[button animator] setFrame:newframe];[CATransaction commit];总结
以上是内存溢出为你收集整理的objective-c – CABasicAnimation没有任何影响全部内容,希望文章能够帮你解决objective-c – CABasicAnimation没有任何影响所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)