25

我正在编写我的第一个 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 的实现文件中尝试了这个,但是据我所知,这改变了视图控制器的颜色,而不是集合视图的颜色:

    self.view.backgroundColor = [UIColor whiteColor]; 

有任何想法吗?

4

2 回答 2

49

self.collectionView.backgroundColor = [UIColor yourColor];

希望这可以帮助

于 2014-07-22T13:48:05.277 回答
3
UIView *redView = [UIView new];
redView.backgroundColor = [UIColor redColor];
_collectionView.backgroundView = redView;
于 2015-06-18T08:27:45.733 回答