Отвечая на мой вопрос (мне потребовалось несколько дней, чтобы отладить это, так что, надеюсь, это сэкономит кому-то еще некоторое время;)):
Основная причина заключается в использовании шаблонного UIColor (через +[UIColor colorWithPatternImage:]
)в качестве цвета фона для UIView, который находится над UIImageView с тем же изображением.
Пример:
UIImageView *imageView = [[UIImageView alloc] initWithImage:anImage];
[_containerView addSubview:imageView];
UIColor *patternColor = [UIColor colorWithPatternImage:anImage];
UIView *patternView = [[UIView alloc] initWithFrame:frame];
[patternView setBackgroundColor:patternColor];
[_containerView addSubview:patternView];
Оба представления отображаются черным, и возникает проблема с кэшированием, когда все остальныеиспользование изображения становится черным до тех пор, пока приложение не будет приостановлено / возобновлено.
Я подал в Apple номер 10795514, чтобы сообщить об этом, но похоже, что он превратился в 5.1.Уменьшение этой проблемы доступно по адресу: http://iccir.com/public/radar/Radar10795514.zip
Единственный найденный мной обходной путь - это сглаживание иерархии видов и рисование изображения шаблона дважды в одном и том же виде.