Так я устанавливаю макет UITableViewCell в программно, когда он выбран:Swift - Программный набор UITableViewCell сбрасывает на свитке
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.selectedCellIndexPath = indexPath
var selectedCell = tableView.cellForRowAtIndexPath(indexPath)!
tableView.beginUpdates()
tableView.endUpdates()
var cell:SelectedPatientCell = tableView.dequeueReusableCellWithIdentifier("patient selected", forIndexPath: indexPath) as! SelectedPatientCell
cell.patientName.text = patients[indexPath.row].fullName
cell.dob.text = patients[indexPath.row].dob
...
selectedCell = cell
}
И когда я прокручивать Tableview, расположение клеток возвратов к исходному набору макета в cellForRowAtIndexPath. Тем не менее, высота остается такой, какая она есть, когда я устанавливаю ее в функции выше. Кто-нибудь знает, как это исправить?
Вот альбом, что происходит: http://imgur.com/a/OUIMJ
Изображение 1: исходное состояние
Изображение 2: выбранное состояние (как это должно остаться на прокрутке)
Image 3: то, что происходит на самом деле
Пришло неясно, в чем проблема. Не могли бы вы объяснить больше о том, что вы пытаетесь выполнить, и что происходит не так? Вы пытаетесь изменить ячейку после ее выбора? – ocwang
, поэтому ячейка имеет два состояния, не выбраны и выбраны. когда он выбран и я прокручиваю, он сбрасывается до исходного макета. я увижу, могу ли я сделать несколько снимков экрана, чтобы сделать его более понятным. – nerras