How to get the exact point of objects in swift?

2019-06-13 15:46发布

I'm using a UIProgressView and want to stick a image subview to the progress % as in the image below:

enter image description here

I want to get the co-ordinate of the progress tint and red subview as in the figure to "stick" with the progress tint, whatever the progress will be..

1条回答
Root(大扎)
2楼-- · 2019-06-13 16:20

You can start by vertically centering the image view with the progress view using constraints or programmatically like below.

imageView.center.y = progressView.center.y

Then where ever you are updating the progress, after you can calculate the center x coordinate for the image view using the adjusted progress and width of the progress view.

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

Although you may need to add padding if the progress view's super view is not the same width.

OR

You could consider using a UISlider; it comes with a progress-bar-like track and a thumb slider that you can customise. This way, you can even have user interaction if need be - otherwise user interaction can be disabled and you can set the progress programmatically.

查看更多
登录 后发表回答