Как получить точную точку объектов в Swift?

Я использую UIProgressView и хочу прикрепить подвид image к прогрессу%, как показано на изображении ниже:

введите здесь описание изображения

Я хочу получить координату оттенка прогресса и красного подвида, как на рисунке, до «stick» с оттенком прогресса, каким бы ни был прогресс.


person Aashish    schedule 17.12.2016    source источник


Ответы (1)


Вы можете начать с вертикального центрирования представления изображения с представлением прогресса, используя ограничения или программно, как показано ниже.

imageView.center.y = progressView.center.y

Затем, где бы вы ни обновляли прогресс, после того, как вы можете вычислить координату центра x для просмотра изображения, используя скорректированный прогресс и ширину просмотра прогресса.

imageView.center.x = progressView.progress * progressView.frame.width

Хотя вам может потребоваться добавить отступы, если суперпредставление прогресса не имеет той же ширины.

ИЛИ

Вы можете рассмотреть возможность использования UISlider; он поставляется с индикатором выполнения и ползунком для большого пальца, который вы можете настроить. Таким образом, вы даже можете иметь взаимодействие с пользователем, если это необходимо - в противном случае взаимодействие с пользователем может быть отключено, и вы можете установить прогресс программно.

person Callam    schedule 17.12.2016
comment
Спасибо @Callam за ваш ответ, но у меня другой сценарий; Я хочу встроить progressView и UISlider, поэтому я подумал «приклеить» UISlider только с оттенком прогресса в представлении прогресса ... так, чтобы подвид изображения всегда прикреплялся к оттенку прогресса, а начало ползунка начиналось с точной точки . Будет ли это возможно - person Aashish; 17.12.2016
comment
Но с приведенным выше кодом подвид изображения не прикрепляется к оттенку прогресса, так как прогресс меняется ... я что-то упустил? - person Aashish; 17.12.2016