Визуальные артефакты при повороте UIView с мозаичным фоновым изображением - PullRequest
0 голосов
/ 13 июня 2010

У меня есть приложение для iPad со стандартной настройкой UIViewController / UIView - все вращения разрешены. UIView рисует некоторое мозаичное изображение в качестве фона (размер плитки 256 * 256 пикселей):

- (void)drawRect:(CGRect)rect
{
    [[UIImage imageNamed: @"Background.png"] drawAsPatternInRect: rect];
}

Когда я поворачиваю свой iPad, я вижу, что во время поворота шаблон изображения с исходной ориентацией имеет размер , масштабированный для соответствия новой ориентации. Затем - сразу после окончания анимации - представление перерисовывает свой фоновый узор с окончательной конфигурацией, которая не масштабируется. Переход от масштабированного к немасштабированному шаблону выглядит немного некрасиво.

Есть ли способ обойти (или скрыть) это выравнивание фонового рисунка?

Ответы [ 2 ]

2 голосов
/ 05 октября 2010

проще говоря,

[myView setBackgroundColor: [UIColor colorWithPatternImage: [UIImage imageNamed: @ "Background.png"]]];

2 голосов
/ 23 июня 2010

Почему бы не использовать шаблон изображения в качестве фона "цвет"?Это автоматически приводит к мозаичному шаблону и позволяет избежать любых трюков с drawRect ().Например:

UIImage *backgroundTile = [UIImage imageNamed: @"Background.png"];
UIColor *backgroundPattern = [[UIColor alloc] initWithPatternImage:backgroundTile];
[myView setBackgroundColor:backgroundPattern];
[backgroundPattern release];
...