Я не эксперт в области графики, но мне каким-то образом удалось сделать несколько хорошо выглядящих пользовательских сгруппированных UITableViewCells, установив фоновое представление в backgroundView с некоторым кодом CG.Во всех SDK до 3.1.3 (может быть, 3.2 ... я не тестировал на iPad) это работало замечательно, но я думаю, что более поздний SDK внес изменения в способ кэширования графики вне экрана.
При первом рендере все отлично: рисунок хорош, а углы прозрачны.Если я добавлю пару контроллеров представления в стек навигации и вернусь, теперь в представлениях появятся черные углы:
ПЕРЕД && ПОСЛЕ
альтернативный текст http://new.tinygrab.com/c1f9e8196b4b92e6bb4d3130a7e08974.png альтернативный текст http://new.tinygrab.com/531ee83e42cdeadc78d418d1c5e7c513.png
У меня есть тонны кода, большая часть которых написана здесь .Я пытался настроить все возможное, просматривая документы на предмет применимых изменений, но, по крайней мере, через 8 часов я все еще не могу найти причину этого.Я попытался установить для каждого вида, который я могу себе представить, backgroundColor=clearColor
и opaque=NO
Что еще мне не хватает?Любые советы по отладке?
ОБНОВЛЕНИЕ:
У меня есть некоторый код отладки в viewDidAppear
, который печатает backgroundColor и описание класса всех подпредставлений.
- (void)debugView:(UIView *)view {
DebugLog(@"%@ - %@", view.backgroundColor, [[view class] description]);
for (UIView* child in view.subviews) {
[self debugView:child];
}
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[DownloadController.networkQueue setSuspended:NO];
for (TTTableViewCell *cell in [self.tableView visibleCells]) {
[cell debugView:cell];
}
}
С этимкод, я проверяю настройки backgroundColor видов ячеек при первой загрузке, когда все в порядке, а затем снова после возвращения.Есть некоторые различия, но все цвета по-прежнему должны быть четкими.Это наводит меня на мысль, что проблема в UITableViewCell.
ОБНОВЛЕНИЕ 2:
Я создал простой пример приложения , чтобы выделить проблему.