Как использовать вид индикатора активности на iPhone? - PullRequest
65 голосов
/ 27 февраля 2009

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

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

Ответы [ 8 ]

121 голосов
/ 02 марта 2009

Создание:

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]; 

Stop:

 [spinner stopAnimating];

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

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

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

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

Файлы, которые вы хотите:

  • WPActivityIndicator.xib
  • RoundedRectBlack.png
  • WPActivityIndicator.h
  • WPActivityIndicator.m

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

[[WPActivityIndicator sharedActivityIndicator] show];

И скрыть с помощью:

[[WPActivityIndicator sharedActivityIndicator] hide];
9 голосов
/ 18 апреля 2010

в отношении:

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

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

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

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

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

[activityIndicator startAnimating];
[activityIndicator stopAnimating];
2 голосов
/ 22 августа 2014

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

Создать-

  • Перейдите на 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];

Stop:

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

 [self.activityIndicatorView stopAnimating];
1 голос
/ 10 марта 2011

Я думаю, вам лучше использовать скрытый.

activityIndicator.hidden = YES
0 голосов
/ 08 марта 2016
- (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"];
    }
}
0 голосов
/ 19 ноября 2015

Показатель активности 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];}
...