私は円の上に 9 つのボタンを表示する必要があるプロジェクトに取り組んでおり、ボタンの円を押すと、ボタンが押されたことを示すインジケーターに回転する必要があります。iOSでこれを達成するにはどうすればよいですか?
あなたの提案は高く評価されます。お知らせ下さい。
円全体を回転させたい、または特定のボタンだけが質問から明確ではありません。円全体を回転させたい場合は、CALayer
アニメーションクラスを使用してこれを実現します。ボタンフレームを設定し、回転のアニメーションでアニメーション化するだけです
これを試してみましょう
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 .これは簡単で、実装が優れています。ボタン ビューをカルーセル ビューのアイテムとして追加できます。