我正在尝试顺时针旋转NSButton直到用户手动中断它。这是我用来完成这个的代码。我知道它曾经在某个时候起作用。知道怎么解决吗?提前谢谢!
CABasicAnimation *a = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
a.fromValue = [NSNumber numberWithFloat:0];
a.toValue = [NSNumber numberWithFloat:-M_PI*2];
[self.reloadButton.layer setAnchorPoint:CGPointMake(0.5, 0.5)];
a.duration = 2.0; // seconds
a.repeatCount = HUGE_VAL;
[self.reloadButton.layer addAnimation:a forKey:nil];
答案 0 :(得分:0)
只要我设置reloadButton.wantsLayer = YES;
来自Enabling Core Animation Support in Your App
在iOS应用中,Core Animation始终处于启用状态,每个视图都由一个图层支持。在OS X中,应用程序必须通过执行以下操作明确启用Core Animation支持:
答案 1 :(得分:0)
试试这个
INSERT INTO price_hist
(
date,
product_id,
price_min,
price_max,
price_avg,
merchants
)
SELECT
'2015-07-10',
100388,
min(price),
max(price),
avg(price),
count(price)
FROM prices
WHERE product_id = 100388
AND active = 1
HAVING count(price)
您可以方便地更改/设置持续时间,repeatCount和toValue。
答案 2 :(得分:-2)
<强> [EDIT1] 强>
在看到这是针对NS与UI按钮之后,有几个选项:
1)为您的OSX版本使用NSTimer和正确的轮换程序(参见下面的链接)
http://digerati-illuminatus.blogspot.com/2009/09/how-do-you-rotate-nsbutton-nstextfield.html
2)如果您使用的是OSX 10.5或更高版本,则支持CoreAnimation,并且NSButtons实际上应支持以下内容。
Wiki链接
http://en.wikipedia.org/wiki/Core_Animation
<强> [原稿] 强> 请尝试使用此代码:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:5000000];
CGAffineTransform rr=CGAffineTransformMakeRotation(5000000);
reloadButton.transform=CGAffineTransformConcat(reloadButton.transform, rr);
[UIView commitAnimations];
以下是显示两种方法的SO问题的链接