Я хочу переместить UIView внутри круга. UIView перемещает каждую точку внутри круга, но не касается пограничной линии круга. Я вычисляю расстояние между кругом и UIView.Как я могу перемещать UIView прикосновением, сохраняя его внутри круга?
var distance = sqrt(
pow((touchPoint.x - selfCenter.x), 2) + pow((touchPoint.y - selfCenter.y), 2)
)
И ограничивает движение UIView в направлении из круга
if distance <= radius {
theUIView.center = touchPoint
}
Проблема начинается здесь, если сенсорный съехать из круге UIView застряли на границе, внутри круга. Вот почему я пытаюсь написать else оператор, насколько я пробовал это.
if distance <= radius {
theUIView.center = touchPoint
} else {
theUIView.center = CGPointMake(
touchPoint.x/distance * radius,
touchPoint.y/distance * radius
)
}
Вопрос в том, как я могу держать UIView внутри круга и продолжать двигаться, если касания продолжают двигаться. Подсказка была бы замечательной.
Здесь есть похожие вопросы - like this - но не помогло.
Мартин благодарит вас за ответ и ярлык для вычисления расстояния. веселит. – mohacs