UISegmentedControl ведет себя странным образом в заголовке UITableView

Я создал пользовательскую ячейку, чтобы заменить UITableViewSectionHeader на протокол для обработки при изменении UISegmentedControl.index поэтому я могу заказать таблицу по имени или значению:

Пользовательская ячейка

 import UIKit protocol OrdenarTableViewDelegate { func ordenarTableView(cell: OrdenarTableViewCell) } class OrdenarTableViewCell: UITableViewCell { var delegate: OrdenarTableViewDelegate? @IBOutlet weak var segmentedOrdenar: UISegmentedControl! @IBAction func alteraOrdenacao(sender: UISegmentedControl) { delegate?.ordenarTableView(self) } 

В UITableViewControler я ссылался на протокол

 class SelecionadasTableViewController: UITableViewController, UITextFieldDelegate, OrdenarTableViewDelegate { 

и внедрил его:

  // MARK: - Ordenar Delegate func ordenarTableView(cell: OrdenarTableViewCell) { if cell.segmentedOrdenar.selectedSegmentIndex == 0 { listaCervejas = bancoDeDados.selecionaCervejas(false) } else { listaCervejas = bancoDeDados.selecionaCervejas(true) } ordenarCervejas = cell.segmentedOrdenar.selectedSegmentIndex tableView.reloadData() } 

Когда я выбираю индекс 1, приложение работает просто отлично, но когда выбран индекс 0, действие выполняется только при нажатии на UITextField в любой другой ячейке, или я вытягиваю таблицу для обновления (что, кстати, не реализовано для обновить)

Есть что-то, что мне не хватает? Потому что это просто неудобно.


Я замечаю, что проблема возникает только тогда, когда я нажимаю одну опцию, а затем другую на UISegmentedControl не касаясь нигде на экране …

Когда вы перезагружаете tableview, все, добавленное в представление таблицы, будет перезагружено. Проверяйте выбранный индекс сегмента каждый раз и перезагружайте его после перезагрузки таблицы.

Я подозреваю, что обновление ячейки не выполняется. Выполняется ли reloadTable на mainThread?

Включите оператор журнала печати в CellForRowAtIndexPath, чтобы узнать.

U может создать пользовательский вид для замены tableHeaderView, попробуйте.

Interesting Posts

Не удалось выполнить команду из-за сигнала: Ошибка сегментации: 11 при архивировании

Групповой метод вставки ниль – но я знаю, что это не

Как установить один подзаголовок под другой подвью в xamarin iOS

Значение типа 'UIView' не имеет элемента tableView '

Доступ к UILabel, созданный во время выполнения

Небольшие номера в Objective C 2.0

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

Проблема с UIWebView в iPad

Как сделать ави звонки синхронно в фоновом режиме?

UIGestureRecognizer в главном / подробном для диагонального движения, мешающего подвидному представлению

Использование значка системы в UIButton в UIToolbar?

Passbook passURL не открывает правый проход, когда проходы сгруппированы

Если я начну изучать развитие iOS сейчас, должен ли я использовать функцию сбора мусора?

Перезагрузите / обновите контроллер просмотра при значительном изменении местоположения (из делегата приложения)

Попытка синхронизировать набор данных в Amazon Cognito возвращает CognitoSyncError

Давайте будем гением компьютера.