无法在UICollectionView(iOS)上更改背景颜色

时间:2014-07-22 13:36:49

标签: ios uicollectionview uicollectionviewlayout uibackgroundcolor

我正在编写我的第一个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];

我能够在所有视图上更改背景颜色。 但是,我决定添加一个视图(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的实现文件中尝试了这个,但是就我所知,这改变了视图控制器的颜色而不是Collection视图的颜色:

    self.view.backgroundColor = [UIColor whiteColor]; 

有什么想法吗?

2 个答案:

答案 0 :(得分:42)

self.collectionView.backgroundColor = [UIColor yourColor];

希望这有帮助

答案 1 :(得分:2)

UIView *redView = [UIView new];
redView.backgroundColor = [UIColor redColor];
_collectionView.backgroundView = redView;