web-dev-qa-db-fra.com

Impossible de changer la couleur d'arrière-plan sur UICollectionView (iOS)

J'écris ma première application iOS et j'ai l'impression d'avoir des problèmes pour changer la couleur de fond d'une UICollectionView.

L'application dispose d'un contrôleur de navigation et de certaines vues. Au départ, j'ai pu changer la couleur de mon fichier d'implémentation 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;
    }

En utilisant

    self.window.backgroundColor = [UIColor whiteColor];

J'ai pu changer la couleur d'arrière-plan de toutes mes vues. Cependant, j'ai décidé d'ajouter une vue de plus (UICollectionView) et de la définir comme vue principale. J'ai donc changé l'AppDelegate en ceci:

    - (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;
    }

De mon point de vue, cela ressemble à peu près au même.

J'ai également essayé cela dans le fichier d'implémentation de l'UICollectionView, mais cela change la couleur du contrôleur de vue et non la couleur de la vue de la collection pour autant que je sache:

    self.view.backgroundColor = [UIColor whiteColor]; 

Des idées?

21
daydr3am3r

self.collectionView.backgroundColor = [UIColor yourColor];

J'espère que cela t'aides

42
Saheb Roy
UIView *redView = [UIView new];
redView.backgroundColor = [UIColor redColor];
_collectionView.backgroundView = redView;
2
Desert Rose