Как показать некоторую обработку во время выполнения фоновой задачи?
Я делаю приложение для iPhone, в котором мне нужно, чтобы пользователи вводили свой электронный адрес и пароль, а затем они могли получить доступ к своей учетной записи на моем веб-сайте.
Как только они вводят данные аутентификации, они должны подождать несколько секунд, пока не появится следующая страница.
Мне нужно показать пользователю символ "Обработка" или "Пожалуйста, подождите".
Как мне это реализовать?
Помоги мне, пожалуйста.
4 ответа
То, что вы ищете, является индикатором активности.
Вот учебник для индикатора активности.
http://www.edumobile.org/iphone/iphone-programming-tutorials/use-activityindicator-in-iphone/
Надеюсь, это поможет вам
Я обычно создаю UIView, который создается по мере необходимости. Вот код, который вы можете попробовать в своем собственном приложении:
- (id)initWithLabel:(NSString*)labelName {
self = [super init];
if (self) {
UIImageView *loadingBackgroundView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 150, 120, 40)];
[loadingBackgroundView setBackgroundColor:[UIColor blackColor]];
[loadingBackgroundView setAlpha:0.9];
[loadingBackgroundView.layer setCornerRadius:8.0];
[loadingBackgroundView.layer setBorderColor:[[UIColor clearColor] CGColor]];
[self addSubview:loadingBackgroundView];
[loadingBackgroundView release];
UILabel *loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake (125, 160, 100, 20)];
[loadingLabel setBackgroundColor:[UIColor clearColor]];
[loadingLabel setTextAlignment:UITextAlignmentCenter];
[loadingLabel setTextColor:[UIColor whiteColor]];
[loadingLabel setText:labelName];
[self addSubview:loadingLabel];
[loadingLabel release];
UIActivityIndicatorView *loadingActivityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(110,160,20,20)];
[loadingActivityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
[loadingActivityIndicatorView startAnimating];
[self addSubview:loadingActivityIndicatorView];
[loadingActivityIndicatorView release];
}
return self;
}
Это даст вам нечто похожее на следующее:
Это то, чем занимались многие люди, поэтому, если вы хотите воспользоваться чужой работой и не изобретать велосипед, вы можете использовать что-то вроде библиотеки Тапку. Это с открытым исходным кодом и на GitHub.
В частности, проверьте TKProgressAlertView
а также TKLoadingView
классы.
Как заметил ParthBhatt, это индикатор активности, который вы хотите.
Мне очень нравится класс DSActivityView Дэвида Синклера: он чрезвычайно прост в реализации, легко отображать и изменять сообщения, его можно использовать для отключения пользовательского интерфейса, покрывая его, включая панель вкладок и панель навигации, если это необходимо.