2015-05-30 3 views
0

Я получаю эту странную ошибку при прокруткеЯрлык текст отсутствует при прокрутке в UITableView

enter image description here Label text missing

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
 
    
 
let cell = tableView.dequeueReusableCellWithIdentifier("MessageCell", forIndexPath: indexPath) as! ChatTableNewViewCell 
 

 
let msgtype=CoreDataManager.read(EntityNames.ChatEntity, attributeName: "is_mobile", index: indexPath.row) 
 

 
if msgtype == "Y" { 
 
    cell.lblRecivedMsg.hidden=true 
 
    cell.lblSendMsg.text=CoreDataManager.read(EntityNames.ChatEntity, attributeName: "message", index: indexPath.row) 
 
} 
 
else{ 
 
    cell.lblSendMsg.hidden=true 
 
    cell.lblRecivedMsg.text=CoreDataManager.read(EntityNames.ChatEntity, attributeName: "message", index: indexPath.row) 
 
} 
 

 
cell.lblRecivedMsg.layer.borderColor = UIColor.blackColor().CGColor 
 
cell.lblRecivedMsg.layer.borderWidth = 1 
 
cell.lblRecivedMsg.layer.masksToBounds = false 
 
cell.lblRecivedMsg.layer.cornerRadius = 8 
 
cell.lblRecivedMsg.clipsToBounds = true 
 

 
cell.lblSendMsg.layer.borderColor = UIColor.blackColor().CGColor 
 
cell.lblSendMsg.layer.borderWidth = 1 
 
cell.lblSendMsg.layer.masksToBounds = false 
 
cell.lblSendMsg.layer.cornerRadius = 8 
 
cell.lblSendMsg.clipsToBounds = true 
 

 
// Configure the cell... 
 
cell.backgroundColor = UIColor.clearColor() 
 
println(indexPath.row) 
 
return cell 
 
}

Это происходит как в тренажере и в IPAD, кроме того, он Безразлично всегда бывает только тогда, когда мы прокручиваем очень быстро или прокручиваем пару раз. Это действительно раздражает :(. Пожалуйста, помогите

+0

вы можете разместить остальную часть кода, имеющие отношение к установке ячейки? – ABakerSmith

+0

@ABakerSmith я обновил код. r ваша помощь :) – vinbhai4u

+0

Не могли бы вы объяснить, что происходит (отредактируйте свой вопрос; *** не *** публикуйте его в комментариях) или уточните, были ли вы уже? Похоже, ваша проблема в том, что сообщения исчезают, но это сложно сказать. –

ответ

2

Из кода, похоже, вы не сброс ячейки правильно.

При установке текста вы должны установить скрытые ложь для этого текста зрения.

Поскольку клетки повторного использования, вы можете получить тот, который был установлен на скрытые ранее. поэтому иногда не хватает.

if msgtype == "Y" { 
    cell.lblRecivedMsg.hidden=true 
    cell.lblSendMsg.hidden=false 
    cell.lblSendMsg.text=CoreDataManager.read(EntityNames.ChatEntity, attributeName: "message", index: indexPath.row) 
} 
else{ 
    cell.lblSendMsg.hidden=true 
    cell.lblRecivedMsg.hidden=false 
    cell.lblRecivedMsg.text=CoreDataManager.read(EntityNames.ChatEntity, attributeName: "message", index: indexPath.row) 
} 
+0

Действительно, спасибо @Rory McKinnel. Поскольку он повторно использовал ячейки, он использовал первую ячейку, в которой lblSend был скрыт. Теперь я дал оба индикатора при запуске функции. Большое спасибо Рори. – vinbhai4u

Смежные вопросы