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

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

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

Ответ 1

Создать:

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

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

Ответ 2

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

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

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

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

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

[[WPActivityIndicator sharedActivityIndicator] show];

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

[[WPActivityIndicator sharedActivityIndicator] hide];

Ответ 3

в отношении:

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

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

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

Ответ 4

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

[activityIndicator startAnimating];
[activityIndicator stopAnimating];

Ответ 5

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

activityIndicator.hidden = YES

Ответ 6

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

Создать -

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

Ответ 7

Индикатор активности 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];}

Ответ 8

- (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"];
    }
}