Невозможно изменить цвет фона в UICollectionView (iOS)

Я пишу свое первое приложение для iOS, и у меня возникают проблемы с изменением backgroundColor UICollectionView.

В приложении есть навигационный контроллер и определенные представления. Изначально я мог изменить цвет в моем файле реализации AppDelegate:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];

        feedsList = [[FeedsListTVC alloc] init];

        rootNC = [[RootNC alloc] init];
        rootNC.viewControllers = [NSMutableArray arrayWithObjects:feedsList, nil];

        self.window.rootViewController = rootNC;

        return YES;
    }

С использованием

    self.window.backgroundColor = [UIColor whiteColor];

Я смог изменить цвет фона во всех моих представлениях. Однако я решил добавить еще одно представление (UICollectionView) и установить его в качестве основного представления. Поэтому я изменил AppDelegate на это:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];

        CollectionViewLayoutCVL *collectionViewLayout = [[CollectionViewLayoutCVL alloc] init];
        self.viewController = [[MainViewControllerCVC alloc] initWithCollectionViewLayout:collectionViewLayout];

        rootNC = [[RootNC alloc] init];
        rootNC.viewControllers = [NSMutableArray arrayWithObjects:viewController, nil];

        self.window.rootViewController = rootNC;

        return YES;
    }

С моей точки зрения, это выглядит почти одинаково.

Я также пробовал это внутри файла реализации UICollectionView, но это меняет цвет контроллера представления, а не цвет представления коллекции, насколько я могу судить:

    self.view.backgroundColor = [UIColor whiteColor]; 

Есть идеи?


person daydr3am3r    schedule 22.07.2014    source источник
comment
хорошо написанный пост, и отличный ответ.   -  person eric    schedule 14.09.2015


Ответы (2)


self.collectionView.backgroundColor = [UIColor yourColor];

Надеюсь это поможет

person Saheb Roy    schedule 22.07.2014
comment
Вау, это было легко. Не могу поверить, что пропустил это. Спасибо. - person daydr3am3r; 22.07.2014
comment
Кто-нибудь знает, почему это работает, а self.view.backgroundColor нет? Я ожидаю, что просмотр и представление коллекции будут ссылаться на один и тот же экземпляр. - person Greg Brown; 13.10.2015
comment
self.view.backgroundColor тоже работает, но если я догадываюсь, почему вы его не видите, вероятно, это потому, что представление коллекции находится над представлением self.view. и цвет коллекции непрозрачный белый или что-то в этом роде. - person Saheb Roy; 14.10.2015

person    schedule
comment
куда ты собирался с этим? - person eric; 14.09.2015
comment
Это действительно работает. КоллекцияView.backgroundColor не работает. Но это помогает. Я не понимаю? - person user1007522; 16.09.2015
comment
Просто смутное предположение ... может быть, слой заднего вида находится выше цвета фона. - person Desert Rose; 16.09.2015