Свойство position
слоя представления основано на его свойстве anchorPoint
. По умолчанию это (0,5, 0,5), что означает, что точка привязки слоя находится в его центре. Если ваше представление (и его слой) имеют нечетное количество пикселей в ширину или высоту, установка интегрального значения для позиции приведет к тому, что начало представления будет нецелым, что приведет к размытости, которую вы видите.
Чтобы обойти это, вы можете выяснить интегральную версию своей позиции, взяв желаемую центральную позицию вида, вычтя половину ширины вида, округлив это значение, затем добавив половину ширины вида и повторив высота. Вы также можете установить anchorPoint
для слоя вашего вида на (0,0) и расположить вид на основе его источника.
Есть вероятность, что это также может быть связано с смещением суперпредставления. Чтобы диагностировать это, вы можете использовать инструмент Core Animation в инструментах и выбрать опцию Color Misaligned Images. Он должен окрашивать любые виды или слои, которые не выровнены по пикселям в вашем приложении.