Как мне сжать UIView с рисунком с размера iPad до размера iPhone? - PullRequest
0 голосов
/ 24 марта 2012

У меня есть пользовательский UIView (graphView), который рисует сложную графику в drawRect на основе размера экрана iPad 1024 x 768. Я хотел бы воспользоваться этим видом и уменьшить его для использования на iPhone.Я надеюсь использовать один и тот же код для рисования и уменьшить вид вместо пересчета моей графики или создания растрового кэша.Представление, созданное на лету без Interface Builder.
Как лучше всего использовать сжатие?Должен ли я поместить представление внутри UIScrollView?

Спасибо!

1 Ответ

0 голосов
/ 24 марта 2012

Если возможно, просто измените текущую матрицу преобразования перед рисованием, используя что-то вроде CGContextScaleCTM. Это позволит масштабировать все ваши измерения, отправленные в Core Graphics до растеризации.

Если это невозможно по какой-либо причине, вам следует рассмотреть возможность рисования с разрешением 1024x768, но с применением подходящего transform к UIView, используя CGAffineTransformMakeScale. Он будет рисоваться с исходным размером пикселя, а затем уменьшаться как растровая операция с выходными пикселями, поэтому он будет менее эффективным.

...