J'essaie d'implémenter une fonctionnalité d'actualisation dans un UITableView dans un UIViewController. Je ne peux pas utiliser un UITableViewController parce que je veux que l'UITableView soit une sous-vue plus petite dans le contrôleur de vue, avec d'autres éléments au-dessus. Je suppose que c'est possible, mais est-ce que quelqu'un en a vu une mise en œuvre?
ios
objective-c
iphone
uitableview
pull-to-refresh
Daniel Robinson
la source
la source
tableView.insertSubview(refreshControl, atIndex: 0)
au lieu detableView.addSubview(refreshControl)
Objectif-C :
C'est ainsi que vous pouvez implémenter pull pour actualiser la vue table. Idem que dans le cas de la vue collection. Remplacez simplement la vue de table alloc par la vue de collection.
la source
Cette solution de @berik fonctionne bien mais l'UIController est affiché au-dessus de UITableViewController. La façon de résoudre ce problème consiste à effectuer ce changement:
la source
refreshControl
disparaître mon , pas apparaître sous letableView
. J'ai corrigé cela par: tableView.insertSubview (refreshControl, atIndex: 0) au lieu de tableView.addSubview (refreshControl)J'ai implémenté EGORefreshTableHeaderView avec un UIViewController et une vue de table simple, l'astuce est que dans les endroits où EGO prend une vue de défilement comme paramètre, si vous regardez la vue de table elle-même hérite de la vue de défilement.
Cela ne nécessite que cela et quelques connexions supplémentaires :)
J'espère que cela t'aides.
la source
Il semble que si vous créez le UIRefreshControl dans la méthode loadView de viewController , tout fonctionne correctement . UIRefreshControl se comporte comme il se doit. Testé avec iOS 7.1 et iOS 8.2
la source
J'ai fini par utiliser ODRefreshControl . Il n'a besoin d'aucun hack comme ci-dessus
tableView.backgroundView = refreshControl
, fonctionne presque de la même manière et donne une meilleure interface utilisateur.la source