Как мне масштабировать CGPoint на основе изменений CGSize? - PullRequest
1 голос
/ 15 ноября 2011

У меня есть CGRect с размером по умолчанию (квадрат).Размер регулируется в зависимости от потребностей контроллеров представления, но всегда поддерживается квадратная пропорция.

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

// in a UIView object, values always positive
- (CGPoint)convertPointToViewSizeScale:(CGPoint)point
{
    CGSize defaultSize = kViewSizeDefault;
    CGSize currentSize = self.frame.size;
    // ...
    return point;
}

1 Ответ

3 голосов
/ 15 ноября 2011
point.x *= currentSize.width / defaultSize.width;
point.y *= currentSize.height / defaultSize.height;
...