CollectionView window remains in black

I am writing an iOS application. I have a CollectionView window and one customCell is added inside it by dragging it. When I launch the application, part of the CollectionView window is black. The collection reuse identifier is set to "ItemCell". The custom Cell view is set to the "CustomViewCell" class. CollectionView dataSource and delegate were configured on FirstViewController. This is the code:

FirstViewcontroller: #import <UIKit/UIKit.h> #import "CustomViewCell.h" @interface FirstViewController : UIViewController<UICollectionViewDataSource, UICollectionViewDelegate> @property (weak, nonatomic) IBOutlet UITextField *txtField; - (IBAction)slideRed:(id)sender; - (IBAction)slideGreen:(id)sender; - (IBAction)slideBlue:(id)sender; - (IBAction)btnAdd:(id)sender; @end 

.m file:

 #import "FirstViewController.h" @interface FirstViewController () @end @implementation FirstViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } -(void)viewDidAppear:(BOOL)animated { } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 10; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 5; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { CustomViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ItemCell" forIndexPath:indexPath]; if (cell == nil) { cell = [[CustomViewCell alloc]init]; } cell.label.text = @"KitKat"; //cell.lblMain.textColor = [UIColor whiteColor]; // cell.backgroundColor = [UIColor blackColor]; return cell; } - (IBAction)slideRed:(id)sender { } - (IBAction)slideGreen:(id)sender { } - (IBAction)slideBlue:(id)sender { } - (IBAction)btnAdd:(id)sender { } @end 

CustomViewCell:

 #import "CustomViewCell.h" @implementation CustomViewCell @synthesize label; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } @end 

How to make this collectionView window display customCell with label. But this is just a black window. Best wishes

+4
source share
2 answers

Failed to get default transparency to work. But a workaround solved this. 1. Select CollectionView. 2. Add color by clicking the "background" property. 3. Select a color (in my case, "white") 4. Set the color "opacity" to "0%", vola .. you get a transparent background.

+2
source

you may need an additional step (the type that I think), which, it seems to me, helped to tie the whole process together. Here is my code for comparison:

 - (CustomViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { NSString *cellIdentifier = @"collectCell"; CustomViewCell *customCell = (CustomViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; return customCell; } 

The www comment is correct, you need to initialize the user interface elements in the (id)initWithFrame:(CGRect)frame and add them to your self.contentView addSubview:viewElement in the same way. For instance:

 - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { stringLabel = [[UILabel alloc] init]; //set the properties of your element [self.contentView addSubview:stringLabel]; } return self; } 

You can also try the following:

[collectionView registerClass:[CustomViewCell class] forCellWithReuseIdentifier:@"collectCell"];

+1
source

All Articles