#ios #swift #uitableview #uisegmentedcontrol #tableviewcell
#iOS #swift #uisegmentedcontrol #uitableview
Вопрос:
У меня есть три разные ячейки tableview, каждая из которых будет отображаться в соответствии с выбранным индексом сегментированного элемента управления, но когда индекс равен 1, в этом table viewcell имеет автоматические размеры (высота), сначала не может прокручиваться, но когда я меняю индекс сегментированного элемента управления, и представление таблицы перезагружается после нажатия на другой индекс, а затем возврата к 1, этот tableview прокручивается, но не прокручивается при первоначальной загрузке или при первом нажатии на этот индекс. Остальные 2 ячейки tableview имеют фиксированную высоту.
@IBAction func changed(sender: UISegmentedControl) {
setabs = seg.selectedSegmentIndex
if setabs == 0 {
cc = "gr"
}else if setabs == 1 {
cc = "sc"
}else if setabs == 2 {
cc = "us"
}
setab.reloadData()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : Tab?
if cc == "gr" {
setab.rowHeight = 82
cell = self.setab.dequeueReusableCellWithIdentifier(cc!, forIndexPath: indexPath) as! Tab
cell!.label2.text = text1[indexPath.row]
} else if cc == "sc" {
setab.rowHeight = UITableViewAutomaticDimension
setab.estimatedRowHeight = 300
cell = self.setab.dequeueReusableCellWithIdentifier(cc!, forIndexPath: indexPath) as! Tab
cell!.label2.text = text2[indexPath.row]
} else if cc == "us" {
setab.rowHeight = 70
cell = self.setab.dequeueReusableCellWithIdentifier(cc!, forIndexPath: indexPath) as! Tab
cell!.label3.text = text3[indexPath.row]
}
return cell!
}
Комментарии:
1. можете ли вы показать свой код?
2. @Adeel да, обновлено
3. Я не вижу никакого кода, относящегося к прокрутке
tableView
. Сколько разделов в вашей таблице? Вы внедряетеheightForRowAtIndexPath
? И вы просто хотите прокрутить своюtableView
до определенной ячейки, когда значениеsegmentedControl
изменится?4. @Adeel есть только один раздел. нет, я не реализую высоту для строки в пути индекса. я не хочу прокручивать определенную ячейку при изменении моего сегментированного элемента управления, вся таблица изменяется при использовании этой конкретной пользовательской ячейки, и ее содержимое также изменяется при нажатии на сегментированный элемент управления. количество строк в tableview также является количеством массива в соответствии со значениями «cc».
5. Я предлагаю вам показать свой полный код. Я не могу выяснить причину, основываясь на предоставленной вами информации.