Потяните, чтобы обновить (IOS) - PullRequest
14 голосов
/ 27 февраля 2011

Я недавно применил здесь команду pull для обновления: https://github.com/leah/PullToRefresh. Это работает, но застревает с индикатором вращающейся активности.Их также нет текста справа от стрелки.Что я делаю неправильно?Спасибо!

Ответы [ 8 ]

27 голосов
/ 27 февраля 2011

Без кода никто ничего не может сказать, но, возможно, попробуйте другую реализацию Pull To Refresh, такую ​​как версия enormego (EGO) , код на github, здесь

Он используется в приложении Facebook, поэтому он определенно работает.

15 голосов
/ 26 апреля 2013

Apple представила UIRefreshControl в iOS6. Вы можете интегрировать его в свой UITableViewController, используя

- (void)viewDidLoad {
    [super viewDidLoad];
    // Initialize Refresh Control
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    // Configure Refresh Control
    [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    // Configure View Controller
    [self setRefreshControl:refreshControl];
}

метод refresh: запустит обновление, и вы можете остановить его в обратном вызове API, используя:

 [(UIRefreshControl *)sender endRefreshing];
13 голосов
/ 18 октября 2012

Я новичок в разработке для iOS, и я пытался реализовать функцию обновления для iOS 6. Хорошо ища решение, я наткнулся на это сообщение в блоге и нашел его очень полезным, http://www.intertech.com/Blog/Post/iOS-6-Pull-to-Refresh-(UIRefreshControl).aspx. Этоизлагает шаги для реализации pull для обновления таким образом, чтобы легко следовать.Любой, кто хочет сделать это самостоятельно в iOS 6, должен зайти в блог.

UIRefreshControl может использоваться только с табличным представлением в настоящее время.Для успешного добавления элемента управления обновлением необходимо выполнить несколько шагов:

1.Создайте метод обратного вызова для обработки вашей логики обновления.Метод обратного вызова должен вызываться, когда пользователь закрывает представление таблицы.Сигнатура метода должна принимать один параметр: указатель на UIRefreshControl.

Примечание. Все шаги 2-4 выполняются в методе viewDidLoad контроллера представления таблицы.

2.Создайте UIRefreshControl с помощью базового «alloc / init».

3.Подключите действие к элементу управления обновлением, чтобы вызвать метод обратного вызова при возникновении события ValueChange.

4.Добавьте элемент управления обновлением в свойство «refreshControl» контроллера табличного представления.

3 голосов
/ 30 мая 2012

Я предпочитаю реализацию EGO, чем leah, потому что она не требует подкласса вашего контроллера представления. Оригинальный EGO в github - это беспорядок, без файла .gitnore и ненужного добавления большого количества файлов .DS_Store. Взгляните на несколько вилок и выберите одну.

Форк "emreberge" выглядит как хорошая версия, лучшая организация файлов и документация!

https://github.com/emreberge/EGOTableViewPullRefresh

2 голосов
/ 27 апреля 2015

Я нашел эту библиотеку очень полезной, модной и современной: https://github.com/Yalantis/Pull-to-Refresh.Rentals-iOS

(рекомендации из других ответов кажутся устаревшими и не поддерживаются)

1 голос
/ 29 мая 2014

Теперь с более новыми версиями iOS, чем указанная выше iOS 5, вы можете использовать: UIRefreshControl.

Существует действительно хорошее руководство по созданию собственного настраиваемого пулла для обновления для вашегоПриложение для iOS: http://ios -blog.co.uk / tutorials / "Как добавить пользовательское приложение для обновления в вашем ios-приложении" /

0 голосов
/ 27 февраля 2015

Вот наш учебник по пользовательским элементам управления Pull-to-Refresh с кодом для Objective-C и Swift: http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

Чтобы добавить дополнительный текст или изображения, как вы упомянули, добавьте их в self.refreshLoadingViewв методах setupRefreshControl или scrollViewDidScroll (из учебника).

Дайте мне знать, если это поможет!

0 голосов
/ 18 ноября 2013

Вы можете использовать: https://github.com/ngocbinh02/httablekit

Поддержка iOS 5.0 или более поздней версии

Потяните, чтобы обновить просмотр таблицы

    import <HTTableKit/TableKit>

....

//like UIRefreshControll

[tableview setPullToRefreshControlType:UITableViewRefreshControlTypeSystem]; 

[tableview  setPullToRefreshModeEnable:YES beginHandler:^{

      // to do here when pulling to refresh
}];

Отключить тягу для обновления просмотра таблицы

    import <HTTableKit/TableKit>

....

[tableview  dismissPullToRefreshEndHandler:^{

      // to do here when dismissing     
}];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...