Нужна помощь в создании собственной системы координат (классика, центр UIView - 0,0) - PullRequest
1 голос
/ 23 февраля 2011

Мне нужно создать свою собственную систему координат в UIView, где 0,0 - центр UIView. Но я не знаю, как это сделать. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

По умолчанию (0,0) находится в верхнем левом углу представления. Чтобы переместить эту точку в центр вида, измените ее границы:

CGFloat width = self.bounds.size.width;
CGFloat height = self.bounds.size.height;
self.bounds = CGRectMake(-width/2.0, -height/2.0, width, height);

Обязательно повторяйте этот расчет всякий раз, когда изменяется размер представления.

0 голосов
/ 23 февраля 2011
UIView *view = /*...*/;
CGContextRef ctx = /*...*/;

/* Shift center from UL corner to mid-x, mid-y. */
CGRect bounds = [view bounds];
CGFloat hx = bounds.size.width / 2.0;
CGFloat hy = bounds.size.height / 2.0;
CGContextTranslateCTM(ctx, hx, hy);

/* y still increases down, and x to the right. */
/* if you want y to increase up, then flip y: */
CGContextScaleCTM(ctx, 1.0/*sx*/, -1.0/*sy*/);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...