Как использовать просмотр индикатора активности на iPhone?

StackOverflow https://stackoverflow.com/questions/593234

Вопрос

Представление индикатора активности полезно во многих приложениях.Есть идеи о том, как добавлять, активировать и отключать отображение индикатора активности на iPhone?

Все методы для этого приветствуются здесь.

Это было полезно?

Решение

Создать:

spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)]; // I do this because I'm in landscape mode
[self.view addSubview:spinner]; // spinner is not visible until started

Начать:

[spinner startAnimating]; 

Остановка:

 [spinner stopAnimating];

Когда вы, наконец, закончите, уберите счетчик из поля зрения и отпустите.

Другие советы

Взгляните на приложение WordPress с открытым исходным кодом.У них есть созданное ими окно многократного использования для отображения типа "выполняется действие" поверх любого вида, отображаемого вашим приложением в данный момент.

http://iphone.trac.wordpress.org/browser/trunk

Файлы, которые вам нужны, это:

  • Индикатор WPActivityIndicator.xib
  • Округлый прямой черный.png
  • Индикатор WPActivityIndicator.h
  • Индикатор WPActivityIndicator.m

Затем, чтобы показать это, используйте что-то вроде:

[[WPActivityIndicator sharedActivityIndicator] show];

И спрятаться с:

[[WPActivityIndicator sharedActivityIndicator] hide];

в отношении:

Взгляните на приложение WordPress с открытым исходным кодом.У них есть созданное ими окно многократного использования для отображения типа "выполняется действие" поверх любого вида, отображаемого вашим приложением в данный момент.

обратите внимание, что если вы используете этот код, вы ДОЛЖНЫ предоставить ВЕСЬ исходный код вашего собственного приложения любому пользователю, который его запросит.Вы должны знать, что они могут решить переупаковать ваш код и сами продать его в магазине.Все это предусмотрено условиями GNU General Public License (GPL).

Если вы не хотите, чтобы вас заставляли открывать ваш исходный код, то вы не можете использовать что-либо из приложения WordPress для iPhone, включая окно выполнения действия, на которое ссылается, без принудительного применения GPL к вашему собственному.

Документация по этому поводу довольно ясна.Это подкласс UIView, поэтому вы используете его как любое другое представление.Чтобы запустить / остановить анимацию, которую вы используете

[activityIndicator startAnimating];
[activityIndicator stopAnimating];

Использование Раскадровки-

Создать-

  • Перейдите в main.storyboard (это можно найти в навигаторе проектов в левой части вашего Xcode) и перетащите "Вид индикатора активности" из библиотеки объектов.

Activity Indicator View from Object Library

  • Перейдите к заголовочному файлу и создайте IBOutlet для UIActivityIndicatorView-

     @interface ViewController : UIViewController
    
         @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView;
    
     @end
    
  • Установите соединение от розеток к UIActivityIndicatorView.

Начать:

Используйте следующий код, когда вам нужно запустить индикатор активности, используя следующий код в вашем файле реализации (.m)-

 [self.activityIndicatorView startAnimating];

Остановка:

Используйте следующий код, когда вам нужно остановить индикатор активности, используя следующий код в вашем файле реализации (.m)-

 [self.activityIndicatorView stopAnimating];

я думаю, вам следует лучше использовать hidden.

activityIndicator.hidden = YES

Индикатор активности отображается в течение 2 секунд и переходит на следующую страницу

@property(strong,nonatomic)IBOutlet UIActivityIndicator *activityindctr;

-(void)viewDidload { [super viewDidload];[activityindctr startanimating]; [self performSelector:@selector(nextpage) withObject:nil afterDelay:2];}

-(void)nextpage{ [activityindctr stopAnimating]; [self performSegueWithIdentifier:@"nextviewcintroller" sender:self];}
- (IBAction)toggleSpinner:(id)sender
{
    if (self.spinner.isAnimating)
    {
        [self.spinner stopAnimating];
        ((UIButton *)sender).titleLabel.text = @"Start spinning";
        [self.controlState setValue:[NSNumber numberWithBool:NO] forKey:@"SpinnerAnimatingState"];
    }
    else
    {
        [self.spinner startAnimating];
        ((UIButton *)sender).titleLabel.text = @"Stop spinning";
        [self.controlState setValue:[NSNumber numberWithBool:YES] forKey:@"SpinnerAnimatingState"];
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top