(iphone) как установить view.center при отсоединении вида от вида прокрутки и добавлении его в другой вид? - PullRequest
4 голосов
/ 25 декабря 2010

Я бы хотел переместить представление из прокрутки в просмотр.

У меня проблемы с изменением его центра (или рамки), чтобы он оставался в том же положении на экране (но в другом виде, возможно, в режиме суперпредставления scrollview).

Как преобразовать центр / рамку вида?

Спасибо.

РЕДАКТИРОВАТЬ:

   CGPoint oldCenter = dragView.center;                                                                         
    CGPoint newCenter = [dragView convertPoint: oldCenter toView: self.navigationView.contentView];    
    dragView.center = newCenter;
    [self.navigationView.contentView addSubview: dragView];

Я также могу использовать (NSSet*) касаниятак как я нахожусь в touchesBegan:
У меня были трудные времена, чтобы заставить это работать, но документ не был настолько ясен для меня.

1 Ответ

3 голосов
/ 25 декабря 2010

Вы можете использовать convertPoint:toView: метод UIView. Он используется для преобразования точки из системы координат одного вида в другой. См. Преобразование между системами координат представления раздела справочника классов UIView. Доступно больше методов.

-edit-

Вы используете неправильную точку при вызове convertPoint: метод. Данная точка должна находиться в системе координат dragView, где значение dragView.center находится в системе координат его суперпредставления.

Используйте следующую точку, и она должна дать вам центр dragView в его собственной системе координат.

CGPoint p;
p = CGPointMake(dragView.bounds.size.width * 0.5, dragView.bounds.size.height * 0.5);
...