2016-01-15 5 views
0

Когда я удаляю все данные из источника данных и перезагружаю таблицуView, обновление pull-to-refresh больше недоступно. Как я могу включить pull-to-refresh даже на пустой tableView?Pull-to-refresh не работает на пустом TableView

override func viewDidLoad() { 
    super.viewDidLoad() 
    ... 
    // Pull to refresh for iPhone 
    refreshControl?.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged) 

    tableView.tableFooterView = UIView(frame: CGRectZero) // To remove separator line on empty cells 
    tableView.estimatedRowHeight = Constants.DetailTableView.estimatedRowHeight 
    tableView.rowHeight = UITableViewAutomaticDimension 

    setupRefreshControl() 
} 

private func setupRefreshControl() { 
    // If on iPhone, List becomes the pull-to-refresh handler and the delegate 
    if UIScreen.mainScreen().traitCollection.horizontalSizeClass == .Compact { 
     SyncService.shared.delegate = self 
     refreshControl?.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged) 
     refreshControl?.tintColor = UIColor.whiteColor() 
    } else { 
     // Otherwise disable the refresh control in List 
     refreshControl = nil 
    } 
} 
+1

где ваша функция refresh()? – Khuong

+0

Если ваши данные пустые, вы скрыты tableview –

+0

Элемент управления обновлением установлен в раскадровке, забыл упомянуть об этом. Он работает хорошо, если ячейка существует. Я не скрываю табличное представление, если оно пустое. Я просто нормально reloadData каждый раз. –

ответ

2

В функции таблицы обновления я на самом деле есть код, чтобы отобразить некоторые «пустой таблицы» вид, чтобы напомнить пользователю TableView пуста и эта точка зрения была выше зрения Tableview, а значит блокирует взаимодействие. Я исправил слои представления, и теперь он работает. Поэтому, если у вас возникла проблема в вопросе, просто проверьте, не просматривается ли какое-то представление в вашем представлении таблицы, что было моим делом здесь.

6

В моем случае, мне просто нужно включить подпрыгивая:

self.collectionView.alwaysBounceVertical = YES;

по умолчанию NO. если ДА и отскоки ДА, даже если содержимое меньше границ, разрешить перетаскивание по вертикали

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

  • Нет связанных вопросов^_^