[tableView setBackgroundColor:[UIColor clearColor]] не работает только на iPad с iOS8

Заявление:

[tableView setBackgroundColor:[UIColor clearColor]];

имеет no effect only on iPad especially with iOS8 with my existing App only, Я просто создал тестовое приложение, чтобы точно определить проблему, но it works, Я создал UIViewController класс как это:

@implementation TestViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [self.view setBackgroundColor:[UIColor purpleColor]];

    UITableView *aTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 100, 300, 300) style:UITableViewStylePlain];

    [aTableView setBackgroundColor:[UIColor clearColor]];

    [self.view addSubview:aTableView];
}

@end

и нажмите ist со следующим утверждением:

[self.navigationController pushViewController:[TestViewController new] animated:YES];

Выталкиваем из нового Test App результаты вот так (как я хочу):

но из моего существующего приложения (реального приложения, в котором я должен реализовать) результат выглядит так:

Очистка цвета фона отлично работает под iOS7 iPhone и iPad даже с iOS 8 iPhone. Я попытался найти реализацию прокси-сервера UIAppearance, которая может повлиять на внешний вид, но ее нет.

Я уже попробовал несколько SO предложений, включая setting the backgroundView to nil а также they haven't helped,

Почему он работает с новым тестовым приложением и почему он не работает с моим существующим приложением? Все, что связано с UINavigationController?

NB: Пожалуйста, не отмечайте как дубликат, потому что здесь вопрос полностью или немного отличается от существующих.

2 ответа

Это цвет клетки. Таким образом, вы должны изменить цвет своей клетки. Для получения дополнительной информации см.

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.backgroundColor = [UIColor clearColor];
}
UIView *bgView = [[UIView alloc] initWithFrame:cell.frame];
bgView.backgroundColor = [UIColor clearColor];
cell.backgroundView = bgView;

Попробуйте приведенный выше код

Другие вопросы по тегам