Разница ч/б перерисовки и масштабирования для заполнения режима в UIImageView?


За помощью UIImageView, различные варианты режима приведены в конструкторе интерфейса как аспект приспособления, коэффициент заполнения. Может ли кто-нибудь сказать мне, в чем разница между этими двумя режимами: масштаб для заполнения VS перерисовка?

1 5

1 ответ:

UIViewContentModeScaleToFill

В первый раз вызывается drawRect: и визуализируется представление. Позже, когда геометрия изменяется, drawRect: не вызывается и уже отрисованное содержимое масштабируется для отображения вида.

UIViewContentModeRedraw

Каждый раз, когда вы меняете границы, drawRect: вызывается для отображения представления снова, снова и снова. Если вы не знаете, что вы на самом деле делаете, и если вам это действительно нужно, не используйте это. Это намного медленнее, потому что он должен вызывать drawRect: снова и снова. Другими словами, когда вы устанавливаете UIViewContentModeRedraw, это такое же поведение, как при вызове setNeedsDisplay каждый раз, когда границы изменяются.

Упрощенное объяснение, но должно немного прояснить его для вас.