Я внедрил UISearchController
, и я получаю данные из обратного вызова js, но когда я записываю ленту в searchbar
, требуется некоторое время, чтобы поместить данные, чтобы я хотел знать, как реализовать загрузку indicator
в таблицу вид результат UISearchController
UISearchController с индикатором загрузки
1
A
ответ
0
Когда вы начинаете поиск в то время вы можете создать индикатор активности и добавить его в качестве subview
из UISearchBar
использования addSubView
метода.
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
//set your frame for activity indicator
[searchBar addSubview: spinner];
[spinner startAnimating];
После завершения поиска удалите его из строки поиска с помощью метода removeFromSuperView
.
0
Пожалуйста, попробуйте этот. Может быть его полезным для вас
SearchBarWithloading.h
#import <UIKit/UIKit.h>
@interface SearchBarWithloading : UISearchBar
- (void)startActivity; // increments startCount and shows activity indicator
- (void)finishActivity; // decrements startCount and hides activity indicator if 0
@end
SearchBarWithloading.m
import "SearchBarWithloading.h"
@interface SearchBarWithloading()
@property(nonatomic) UIActivityIndicatorView *activityIndicatorView;
@property(nonatomic) int startCount;
@end
@implementation SearchBarWithloading
- (void)layoutSubviews {
UITextField *searchField = nil;
for(UIView* view in self.subviews){
if([view isKindOfClass:[UITextField class]]){
searchField= (UITextField *)view;
break;
}
}
if(searchField) {
if (!self.activityIndicatorView) {
UIActivityIndicatorView *taiv = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
taiv.center = CGPointMake(searchField.leftView.bounds.origin.x + searchField.leftView.bounds.size.width/2,
searchField.leftView.bounds.origin.y + searchField.leftView.bounds.size.height/2);
taiv.hidesWhenStopped = YES;
taiv.backgroundColor = [UIColor whiteColor];
self.activityIndicatorView = taiv;
[taiv release];
_startCount = 0;
[searchField.leftView addSubview:self.activityIndicatorView];
}
}
[super layoutSubviews];
}
- (void)startActivity {
self.startCount = self.startCount + 1;
}
- (void)finishActivity {
self.startCount = self.startCount - 1;
}
- (void)setStartCount:(int)startCount {
_startCount = startCount;
if (_startCount > 0)
[self.activityIndicatorView startAnimating];
else {
[self.activityIndicatorView stopAnimating];
}
}
@end
7
Написал это расширение в Swift 3, который, кажется, работает очень хорошо.
extension UISearchBar {
private var textField: UITextField? {
return subviews.first?.subviews.flatMap { $0 as? UITextField }.first
}
private var activityIndicator: UIActivityIndicatorView? {
return textField?.leftView?.subviews.flatMap{ $0 as? UIActivityIndicatorView }.first
}
var isLoading: Bool {
get {
return activityIndicator != nil
} set {
if newValue {
if activityIndicator == nil {
let newActivityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .gray)
newActivityIndicator.transform = CGAffineTransform(scaleX: 0.7, y: 0.7)
newActivityIndicator.startAnimating()
newActivityIndicator.backgroundColor = UIColor.white
textField?.leftView?.addSubview(newActivityIndicator)
let leftViewSize = textField?.leftView?.frame.size ?? CGSize.zero
newActivityIndicator.center = CGPoint(x: leftViewSize.width/2, y: leftViewSize.height/2)
}
} else {
activityIndicator?.removeFromSuperview()
}
}
}
}
+0
Nice один ниндзя! – Aaronium112
Смежные вопросы
- 1. Firebase с индикатором загрузки
- 2. заставка с индикатором загрузки с помощью раскадровки
- 3. Угловой 2 резольвер с индикатором загрузки
- 4. Кнопка Xamarin Forms с индикатором загрузки
- 5. Файл загрузки Java с индикатором выполнения swt
- 6. запрос кросс-домена с индикатором выполнения загрузки
- 7. UITableView с индикатором активности
- 8. Проблема с индикатором треугольника
- 9. Как создать файл загрузки php с индикатором выполнения
- 10. Индикатор прогресса загрузки Android с индикатором пользовательского изображения и прогресса
- 11. Телефонная книга для загрузки нескольких файлов с индикатором выполнения
- 12. Загрузить файл с индикатором выполнения
- 13. RESTlet ClientResource с индикатором выполнения
- 14. Заставка экрана с индикатором выполнения
- 15. VB - Проблемы с индикатором прогресса
- 16. Ошибка PyQt4 с индикатором выполнения
- 17. Расчет с последовательным индикатором
- 18. WebService с индикатором выполнения
- 19. ссылка с индикатором выполнения
- 20. AsyncTask с индикатором прогресса
- 21. Элементы ресайклера с индикатором
- 22. Проблема с индикатором expandablelistview
- 23. UITabBar с индикатором подсчета
- 24. Threading Tkinter с индикатором выполнения
- 25. UISearchController с nil searchResultsController
- 26. UISearchController с updateSearchResultsForSearchController
- 27. Реализовать UISearchController с UITableView
- 28. UISearchController с объектами Parse?
- 29. прозрачный UIStatusBar с UISearchController
- 30. Throttling Search с UISearchController
Спасибо, что я искал;) –
рад .. я мог бы помочь .. :) –