У меня есть два круга, которые перемещаются по экрану. Оба кружка представляют собой UIViews, которые содержат другие UIViews. Область за пределами каждого круга прозрачна.
Я написал функцию для создания CGPath, который соединяет два круга четырехугольной формой. Я заполняю этот путь прозрачным CALayer, занимающим весь экран. Поскольку слой находится за двумя круговыми UIView, кажется, что он соединяет их.
Наконец, два UIView анимируются с помощью Core Animation. Положение и размер обоих кругов изменяются во время этой анимации.
На данный момент единственный метод, с которым я добился успеха, - это прерывание анимации через равные промежутки времени с помощью NSTimer, затем повторное вычисление и рисование луча в зависимости от местоположения слоя презентации круга. Однако четырехугольник отстает от кругов при ускорении анимации.
Есть ли лучший способ сделать это с помощью Core Animation? Или мне следует избегать Core Animation и реализовать свою собственную анимацию с помощью NSTimer?