Содержимое Tableview не прокручивается при смене сегментированного элемента управления

#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. Я предлагаю вам показать свой полный код. Я не могу выяснить причину, основываясь на предоставленной вами информации.