Привет, так это моя ситуация до сих пор. Я добавил UIImageView в Interface Builder и установил его на .png изображение иглы (Needle.png), я также подключил его к соответствующему IBOutlet в Xcode.Как повернуть иглу (для измерителя уровня звука) об этом происхождении?
В моем viewDidLoad: метод я поставил точку привязки,
- (void)viewDidLoad {
[super viewDidLoad];
[needle.layer setAnchorPoint:CGPointMake(0.5, 1)];
}
И я также создал кнопку в Interface Builder и подключил его к IBAction в Xcode, эта кнопка выполняет блок анимации,
- (IBAction)animate {
[UIView beginAnimations:@"rotate" context:nil];
[UIView setAnimationDuration:1.0];
self.needle.transform = CGAffineTransformMakeRotation(10 * M_PI/180);
[UIView commitAnimations];
}
Поэтому, когда я нажимаю кнопку анимации, мое изображение иглы вращается на 10 ° против часовой стрелки, поэтому начинается старт. Но то, что я действительно хочу сделать, чтобы игла постоянно вращалась под правильным углом, основываясь на постоянно меняющейся стоимости.
Например, если у меня есть значение децибела, которое дает мне текущий уровень децибела в комнате, я бы хотел, чтобы эта стрелка отражала это значение (т.е. 10 ° == 10 дБ), и поскольку это значение постоянно меняется, Я хочу, чтобы моя игла вращалась по часовой стрелке или против часовой стрелки соответственно.
Кто-нибудь знает, как я могу это сделать? Я также был бы признателен, если бы кто-то мог опубликовать некоторый исходный код, чтобы помочь мне.
Спасибо всем, что я задал этот вопрос, первый, кто рекомендует использовать метод класса setAnimationBeginsFromCurrentState, и верю, что это или нет, что помогло мне понять, как я мог бы сделать эту работу так благодарю вас за ваш ответ ! – cgossain