2012-04-18 2 views
0

Если я сохранил свой прогресс в стороне от UIScrollView, я получаю некоторый x & y axis (like (110,250)), если я сохранил этот индикатор выполнения в своем UIScrollView, я получаю разные x & y axises (как (9,100)).Найти фактическое происхождение subviews iOS Sdk

Мое требование - я должен поставить свой индикатор выполнения в UIScrollView, но я хочу знать ось осей x & y за пределами UIScrollview.

т.е. моего штриховых происхождения прогресса вычислить по UIView не уважает к Scrollview

дать мне решение пожалуйста.

ответ

6

UIView может преобразовывать прямоугольники из одного координатного пространства в другое, если у них есть общий родительский вид (даже окно). Так, например:

[scrollview convertRect:subview.frame toView:someOtherView]; //scrollView converts the frame of subView.frame to the coordinate system of someOtherView 

Есть несколько методов, которые преобразовывают точки или прямоугольникам от или к другой точке зрения:

[superView convertRect:anotherView.frame fromView:anotherView.superView]; //Will give you the rect of anotherView.frame in superView coordinate system. 

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

Кроме того, чтобы найти координату точки зрения на экране (или главное окно), вы можете установить «toView:» всухую:

[superView convertRect:subView.frame toView:nil]; //will give you the coordinate of subView in the window 
+0

Thank. Эта работа! – ZhukV

0

Эти два метода UIView должны помочь вам:

– convertPoint:toView: 
– convertPoint:fromView: 
Смежные вопросы