web-dev-qa-db-ja.com

UICollectionView(iOS)で背景色を変更できない

私は最初のiOSアプリを作成していますが、UICollectionViewのbackgroundColorを変更する際に問題が発生しているようです。

アプリには、ナビゲーションコントローラーと特定のビューがあります。最初は、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];

すべてのビューで背景色を変更できました。しかし、私はもう1つのビュー(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]; 

何か案は?

21
daydr3am3r

self.collectionView.backgroundColor = [UIColor yourColor];

お役に立てれば

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