Я добавляю некоторые функциональные возможности в приложение для iPhone и могу использовать некоторую помощь в выборе самого быстрого / наиболее эффективного / оптимального подхода для решения этой проблемы:
В верхней половине экрана у меня есть пузыри речи (думаю, комикс), которые представляют собой UIImageViews, транслируемые по экрану (динамическое положение x и y). Это UIImageView, потому что в качестве фона речевого пузыря используется изображение.
У каждого речевого пузыря есть соответствующее изображение, перемещающееся в нижней части экрана (в другом месте дерева слоев).
Я хотел бы нарисовать хвост (этот кусочек треугольника из речевого пузыря), чтобы точка треугольника отслеживала нижнее изображение, при этом основание треугольника было прикреплено к нижней части верхнего UIImageView. (технически основание не должно быть упираться в него, оно может перекрываться, если я могу сопоставить цвет моего фонового изображения с треугольником).
Я уже выполнил все отслеживание и нарисовал линию с помощью методов CGContextStrokePath, и теперь я застрял в том, как заменить линию треугольником.
Я смотрел, как нарисовать треугольник в Кварце и заполнить его. Меня беспокоит то, что речевые пузыри перемещаются каждые 1/10 секунды, и похоже, что рисование только линии, используемой для подтверждения концепции, оказало довольно серьезное влияние на производительность / визуальную плавность.
Одна из моих идей - провести тригонометрию самостоятельно, растянуть и повернуть изображение треугольника, чтобы соединить каждый из этих речевых пузырей с нижней точкой. Что-то подсказывает мне, что есть более эффективное / элегантное решение, но я не вижу его, просматривая документацию. Любая помощь в том, как вы подойдете к этому вопросу, приветствуется. Спасибо.