Окно CollectionView остается в черном

Я пишу приложение iOS. У меня есть окно CollectionView, и внутри него добавляется один customCell, перетаскивая его. Когда я запускаю приложение, часть части окна CollectionView черная. Идентификатор многократного использования коллекции установлен в «ItemCell». Пользовательский вид Cell установлен в класс «CustomViewCell». Данные CollectionView и делегат CollectionView установлены в FirstViewController. Это код:

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 файл:

 #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 

Как заставить это окно collectionView отобразить customCell с меткой. Но это просто черное окно. С наилучшими пожеланиями

  • Как добавить фоновое изображение в UICollectionView, которое будет прокручивать и масштабировать ячейки
  • Ячейки UICollectionView отображаются только после второго вызова reloadData
  • Центрировать UIView вертикально и горизонтально в пределах родительского вида
  • Как упорядочить перемещения, вставки, удаление и обновления в блоке выполнения UICollectionView executeBatchUpdates?
  • Ошибка утверждения в UICollectionView с дополнительными представлениями / заголовками разделов, dataSource равна нулю?
  • Пейзажная ориентация для коллекции в Swift
  • Как заставить Storyboard поддерживать ячейки с динамическим размером в UICollectionView?
  • UICollectionView cellForItemAtIndexPath возвращает nil после прокрутки
  • 2 Solutions collect form web for “Окно CollectionView остается в черном”

    Не удалось заставить прозрачность по умолчанию работать. Но обходное решение решило это. 1. Выберите CollectionView. 2. Добавьте цвет, щелкнув свойство «background». 3. Выберите цвет (в моем случае «белый»). 4. Установите цвет «непрозрачность» на «0%» vola .. вы получите прозрачный фон.

    вам может потребоваться дополнительный шаг (тип, который я считаю), который, как я нашел, помог связать весь процесс вместе. Здесь мой код для сравнения:

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

    Комментарий www является правильным, вам нужно инициализировать элементы пользовательского интерфейса в (id)initWithFrame:(CGRect)frame и добавить их в свой self.contentView addSubview:viewElement в том же самом методе. Например:

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

    Вы также можете попробовать следующее:

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

    Interesting Posts

    «UIAlertView» устарел в iOS 9.0. Используйте UIAlertController с предпочтительным типом UIAlertControllerStyleAlert вместо

    Как определить, будет ли ячейка, возвращаемая dequeueReusableCellWithIdentifier, повторно использоваться в iOS 6?

    Создавать и экспортировать анимированный gif через iOS?

    Предупреждение EKEvent «Время выхода»

    NSURLConnection didReceiveData не вызывается

    Создание представлений программным способом VS. перо

    iOS, как сохранить аннотацию карты и загрузить ее на картуты?

    ios, получая указатель на контроллер с точки зрения

    Universal Links – отключить верхнюю правую ссылку

    Проверьте настройки пользователя для проверки орфографии и автокоррекции

    В iOS Core Graphics, что такое graphicsContext?

    Не удается найти объявление интерфейса для моего контроллера представления IOS

    Папка не находится под контролем версий и не является частью фиксации

    «Не удалось импортировать заголовок моста», «файл не найден», при архивировании моего проекта

    Как проверить, может ли пользователь войти в CloudKit?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.