У меня есть UICollectionView и пользовательский класс подкласса UICollectionViewCell, содержащий UILabel. В cellForItemAtIndexPath я дежурую, устанавливая текст UILabel и возвращаю ячейку как обычно.UILabel в UICollectionViewCell, не отображающийся на вновь выделенных ячейках
Когда он загружается, все выглядит правильно, но когда я прокручиваю текст ярлыка недавно перечеркнутой ячейки, пуст, даже если я вышел из строя, которая установлена, и это правильно.
Я не добавляю и не удаляю что-либо из ячейки и ничего не скрываю.
В качестве теста я установил цвет фона метки, а положение фона и размер выглядят правильно, поэтому я не думаю, что этикетка неуместна.
Любые идеи?
Я не уверен, что это актуально, но я использую Xcode 8.1, Swift 2.3 и вижу подобное поведение как на реальном iPad, так и на iPhone, а также на симуляторе.
Код, который @ Zac Гван попросил:
guard let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Location Cell Vertical Left", forIndexPath: indexPath) as? LocationCollectionViewCellVertical else {
print("Couldn't get locationCollectionViewCellVertical")
return UICollectionViewCell()
}
Внутри защитного заявления никогда не вызывается.
...
cell.locationTitleLabel.text = originalString
originalString
всегда содержит правильную строку.
Update:
Странная часть является то, что если я перечисляю так что эти проблемные ячейки с экрана, а затем прокручивать таким образом, они снова видимыми, они отображаются правильно.
Из вашего описания и теста, которое вы сделали, здесь все кажется хорошим. Может быть, вы можете опубликовать код, в котором вы деактируете и установите ярлык, чтобы мы могли помочь отладить? –
К сожалению, я не могу опубликовать большую часть кода здесь, но это стандартный 'collectionView.dequeueReusableCellWithReuseIdentifier (« Location Cell Vertical Left », forIndexPath: indexPath) как? LocationCollectionViewCellVertical' и 'cell.locationTitleLabel.text = originalString' –
Вы можете отредактировать свой вопрос, чтобы код там –