Потяните, чтобы обновить (ios)
Недавно я реализовал pull для обновления здесь: https://github.com/leah/PullToRefresh. Это похоже на работу, но она застряла с индикатором вращающейся активности. Их также нет текста справа от стрелки. Что я делаю не так? Благодарю!
Ответы
Ответ 1
Без кода, который мало кто может сказать, но, возможно, попробуйте выполнить другую реализацию Pull To Refresh, например, версия hyperego (EGO), код находится в github, здесь
Он используется в приложении Facebook, поэтому он определенно работает.
Ответ 2
Я новичок в разработке iOS, и я пытался реализовать pull для обновления в iOS 6. Ну, ища решение, я наткнулся на это сообщение в блоге и нашел, что это очень полезно, http://www.intertech.com/Blog/Post/iOS-6-Pull-to-Refresh-(UIRefreshControl).aspx. В нем излагаются шаги по внедрению pull для обновления таким образом, чтобы это было легко следовать. Любой, кто хочет сделать это самостоятельно в iOS 6, должен проверить блог.
UIRefreshControl можно использовать только с табличным представлением. Чтобы успешно добавить элемент управления обновлением, выполните несколько шагов:
1.
Создайте метод обратного вызова для обработки логики обновления. Метод обратного вызова следует вызывать, когда пользователь отключается в представлении таблицы. Сигнал метода должен принимать один параметр: указатель на UIRefreshControl.
Примечание. Шаги 2-4 выполняются в рамках метода ViewDeedLoad в контроллерах табличного представления.
2.
Выполните инициализацию UIRefreshControl с помощью базового "alloc/init".
3.
Подключите действие к элементу управления обновлением, чтобы вызвать метод обратного вызова при запуске события ValueChange.
4.
Добавьте элемент управления обновлением в свойство "refreshControl" контроллера табличного представления.
Ответ 3
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];
Ответ 4
Я предпочитаю реализацию EGO, нежели leah, потому что не требует подкласса вашего контроллера представлений. Исходный EGO в github - это бит беспорядка без файла .gitnore и много файлов .DS_Store, добавленных излишне. Посмотрите на некоторые из многих вилок и выберите один.
Вилка "emreberge" выглядит как хорошая версия, лучшая файловая организация и документация тоже!
https://github.com/emreberge/EGOTableViewPullRefresh
Ответ 5
Я нашел эту библиотеку очень полезной, причудливой и обновленной: https://github.com/Yalantis/Pull-to-Refresh.Rentals-iOS
(Рекомендации от других ответов кажутся старыми и не поддерживаются)
Ответ 6
Теперь, с более новыми версиями iOS, чем вышеупомянутый iOS 5, вы можете использовать: UIRefreshControl.
Существует действительно хороший учебник по созданию собственного пользовательского приложения для обновления для вашего приложения iOS: http://ios-blog.co.uk/tutorials/how-to-add-a-custom-pull-to-refresh-in-your-ios-application/
Ответ 7
Вы можете использовать: 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
}];
Ответ 8
Здесь наш учебник по настройкам Custom Pull-to-Refresh с кодом для Objective-C и Swift: http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/
Чтобы добавить дополнительный текст или изображения, как вы упомянули, добавьте их в self.refreshLoadingView
в методах setupRefreshControl
или scrollViewDidScroll
(из учебника).
Сообщите мне, если это поможет!