Смените друг друга вокруг круга

I need to implement the following application in objective c >> http://bit.ly/rHzVkF

Как я могу вращать круг, таща как в приложении? Вы знаете некоторые подобные примеры?

1
nl ja de
Извините, что люди, вниз проголосовавшие ваши вопросы... they' ре, боящееся чего-либо, что возьмет их больше чем 30 секунд, чтобы ответить... It' s хороший, что вы стремитесь изучить эти вещи. It' s трудный в начале, потому что все на этих форумах продолжают закрывать вас для не рождающегося, зная весь абсолютный код.
добавлено автор Albert Renshaw, источник
поскольку я вижу его, этот вопрос doesn' t соответствуют минимальному стандарту качества: очевидно что OP didn' t помещают, любой позволяет себе в исследовании, понять вопрос, необходимо провести далеко. Голосуйте, чтобы закрыться как не конструктивный.
добавлено автор vikingosegundo, источник
@AlbertRenshaw, я думаю, что здесь есть многие люди, которые инвестируют много времени в ответе. проверьте мой счет GitHub. вы найдете много кодов, которые я просто написал, чтобы ответить на вопросы. Но я don' t чувствуют, что я хочу ответить на вопросы, которые были написаны меньше чем за 30 секунд.
добавлено автор vikingosegundo, источник
@ihkawiss вы знаете, как нарисовать круг с прикосновением какао?
добавлено автор vikingosegundo, источник
I' помещенные ve предоставляют в исследовании, но мне haven' t понял его все же. I' m не ищущий полное решение, я нуждаюсь просто в помощи, чтобы понять, как я должен начать.
добавлено автор ihkawiss, источник

4 ответы

В ваших прикосновениях начал метод, необходимо проверить x и y и видеть, находится ли это в границах двух вращающихся счетов.

Now on your touches moved you need to detect the change (delta) of your x and y location and use ATAN2(dx,dy) I believe to convert to radians for revolution. If I'm wrong you can figure it out on paper, it's simple trigonometry (Don't forget to import )

С этой новой переменной для революций применяют его к объекту, вы хотите прясть использование CGAffineTransformRotate (); (я верю, это - часть Основной Графики, так удостоверьтесь, что вы импортировали ту библиотеку также).

1
добавлено

@ihkawiss вы знаете, как нарисовать круг с прикосновением какао? – vikingosegundo

@ihkawiss, я предполагаю, вы не хотите отвечать мне.no problem. Ваши гвозди должны быть разделены на меньшие задачи.

  1. рисует маленькие круги на данном положении по умолчанию (ручки)
  2. рисует большой круг
  3. получает координаты прикосновения и проверку, если это в ручке, продолжите двигаться к следующему вопросу.
  4. вычисляет угол между центром круга, положением прикосновения и фиксированной точкой (т.е.: лучший центр).
  5. с углом, фиксированной точкой и радиусом круга вычисляет новые положения ручек
  6. изменяет все, пока прикосновение вызывается.

необходимо быть в состоянии получить достаточно информации для каждого из этого, ступает в сеть и на переполнении стека. Если бы вы застреваете (что было бы довольно нормально и ожидаться), возвратитесь, покажите то, что вы получаете до сих пор и объясняете, где вы застряли.

0
добавлено
vikingosegundo, спасибо за ваш ответ! Жаль не был времени отвечать вчера. I' ll пробуют, это ступает. ihkawiss
добавлено автор ihkawiss, источник

Я попытаюсь поместить свои два цента в это, поскольку я просто должен был решить подобный сценарий.

необходимо осуществить методы прикосновений в представлении, что вы хотите обращаться со всем движением

  • (пустота) touchesBegan: (NSSet *), касается withEvent: (UIEvent *) событие
  • (пустота) touchesMoved: (NSSet *), касается withEvent: (UIEvent *) событие
  • (пустота) touchesEnded: (NSSet *), касается withEvent: (UIEvent *) событие

Альберт прав в письменной форме, что необходимо обнаружить изменение x и y местоположения. Можно получить местоположение от прикосновений NSSet, которое посылают в метод на спусковом механизме метода.

В методах необходимо будет осуществить некоторое изменение этого кода, чтобы работать с данными о прикосновениях:

for(UITouch *t in touches){
    if([t tapCount] > 1){
        return;
    }
    CGPoint loc = [t locationInView:self.view];

Once you have the x and y of where a user touched, in this case the CGPoint loc, you can run the atan2 method from the math.h library and get back the radian of the circle. You will need to #include < math.h > in order to use atan2()

atan2() нужны два аргумента, чтобы работать, различие между двумя пунктами y и двумя пунктами x. В моем случае я использовал ток (коснитесь пункта y, - центр круга y), и ток (касаются пункта x, - центр круга x).

    double rads = atan2((loc.y - (self.frame.size.height/2)), (loc.x - (self.frame.size.width/2))); 

оттуда можно сделать любое количество вещей с той информацией. Чтобы вычислить новый x и y положение вокруг круга, необходимо использовать косинусные и синусоидальные функции, чтобы вычислить надлежащие координаты.

   newXposition = CenterX + cos(rads) * radiusOfCircle
   newYposition = CenterY + sin(rads) * radiusOfCircle

Можно получить новый xPosition, добавив центр X положений круга к результату because(, вводящего радианы, которые мы просто получили до), умноженный на радиус круга, И новый yposition получен, делая то же самое только с грехом() вместо этого.

Таким образом, мой код выглядел примерно так....

    float radius = 61;
    float newXPos = 140 + (cos(rads) * radius);
    float newYPos = 165 + (sin(rads) * radius);

Удача, надейтесь, что это помогает вам начать. Этот материал может быть хитрым

0
добавлено

Конечно, некоторые ответы могли бы быть правильным, но конечным решением для меня, следовал за обучающей программой:

http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.