(iphone) сделать синглтон из пользовательского индикатора активности? - PullRequest
1 голос
/ 14 марта 2011

Я пытаюсь добавить свой индикатор активности в свое приложение.

Поскольку есть много мест, где я хочу показать индикатор,
Я подумал, может быть, это хорошая идея, чтобы сделать его доступным синглтоном.

Полагаю, я могу немного изменить это, чтобы получить желаемый синглтон-класс. iPhone класса Singleton

Одна проблема заключается в том, что мне нужно добавить представление индикатора к некоторому представлению (как подпредставлению), очевидно.
Интересно, есть ли одноэлементное представление, к которому я могу получить доступ из любого места, чтобы добавить представление индикатора в качестве подпредставления.

Спасибо

Ответы [ 3 ]

1 голос
/ 14 марта 2011

вы можете использовать синглтон, но я бы посоветовал вам не использовать синглтон для элементов UIView.

Элементы UIView могут иметь только одно суперпредставление, поэтому, если вы везде используете singleton.activityindicator, вам придется удалить его.от superview до добавления его в новое представление, поэтому требуется много бухгалтерии.Например, вы должны удалить его из прежнего суперпредставления при показе его где-то еще, а когда вы вернетесь к предыдущему суперпредставлению (с помощью нажатия пользователем какого-либо элемента управления навигацией или чего-то еще), вы должны определить, нужно ли вам теперь добавить его обратно вновое суперпредставление и т. д.

Я использую синглтон для одного UIView в моем дизайне, то есть в виде рекламного баннера.Я хотел сохранить одно объявление в приложении, чтобы одно и то же объявление было на разных контроллерах навигации.Однако это было большой болью в прикладе.

Просто создайте его, добавьте к представлению и удалите, когда это будет сделано .. проще на мой взгляд:)

0 голосов
/ 14 января 2012

Взять UIView Класс

внутри initWithFrame Метод:

 //this method create custom activity indicator
     UIImage *startImage = [UIImage imageNamed:@"1.png"];
     customActivityIndicator = [[UIImageView alloc] //take in in .h file
            initWithImage:startImage ];


   //Add more images which to be used for the animation
   customActivityIndicator.animationImages = [NSArray arrayWithObjects:
           [UIImage imageNamed:@"1.png"],
           [UIImage imageNamed:@"2.png"],
           [UIImage imageNamed:@"3.png"],
           [UIImage imageNamed:@"4.png"],
           [UIImage imageNamed:@"5.png"],
           [UIImage imageNamed:@"6.png"],
           [UIImage imageNamed:@"7.png"],
           [UIImage imageNamed:@"8.png"],
           nil];


  //Set animation duration 
  customActivityIndicator.animationDuration = 0.5;


  //set frame at the middle of the imageview 
  customActivityIndicator.frame = self.frame;

Взять метод:

// call this methode from the class where u want to animate custom indicator
(void)startAnimating
{
    [customActivityIndicatorstartAnimating];
}

Взять метод:

// call this methode from the class where u want to stope animate custom 
(void)stopAnimating 
{
    [customActivityIndicatorstaopAnimating];
} 
0 голосов
/ 14 марта 2011

Вы можете попытаться добавить UIView к пользовательскому классу, а затем добавить к нему activityIndicator.

...