Блуждающий CGAffineTransformMakeRotation - PullRequest
3 голосов
/ 29 апреля 2010

Хорошо, это сделает меня безумцем - любая помощь будет принята с благодарностью. У меня есть два изображения, которые являются частью приложения таймера. Одна - игла / рука, а другая - маленькая втулка, которая выглядит как основание иглы. Я использую CGAffineTransformMakeRotation, чтобы вращать иглу, и основание остается неподвижным. Проблема в том, что вращение иглы напоминает «отклонение» на 1-2 пикселя, из-за чего создается впечатление, что оно смещается от центра относительно основания. Я тщательно проработал базовое изображение и изображение иглы в PS, и оба с точки зрения пикселя в мертвой точке - серьезно. Мой метод поворота руки:

-(IBAction) rotateSteamArrow{

 CGAffineTransform rotate = CGAffineTransformMakeRotation( degreesSteam / 180.0 *   3.14159265);
 degreesSteam = degreesSteam + 1.5;
  if (degreesSteam <= 180) {
  [steamNeedle setTransform:rotate];
  }
  else {
   [self handleSteamTimer];
   [self toggleButton:(id)timerButton];
   [self switchSound];
  }


 }

1 Ответ

0 голосов
/ 24 марта 2011

Попробуйте поиграть с anchorpoint, пока он не перестанет колебаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...