我正在做一个项目,我需要在一个圆圈上显示 9 个按钮,按下任何按钮圆圈都应该旋转到显示按下按钮的指示器。如何在 iOS 中实现这一点?
您的建议将不胜感激。请指教。
让我们试试这个
UIButton *button;
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.view addSubview:button];
CABasicAnimation *halfTurn;
halfTurn = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
halfTurn.fromValue = [NSNumber numberWithFloat:0];
halfTurn.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
halfTurn.duration = 0.5;
halfTurn.repeatCount = HUGE_VALF;
[[button layer] addAnimation:halfTurn forKey:@"180"];
如果您真的想使用外部库,那么这可能是更好的选择。我已经使用轮播库了。请参考以下链接https://github.com/nicklockwood/iCarousel。这很容易并且更好地实施。您可以将按钮视图添加为轮播视图中的项目。
您想旋转整个圆圈或仅从您的问题中不清楚特定按钮。如果你想旋转整个圆圈只需使用CALayer
动画类来实现这一点。只需设置按钮框架并使用旋转动画对其进行动画处理