1

カスタムアクティビティインジケーターをアプリに追加しようとしています。

インジケーターを表示したい場所がたくさんあるので、
簡単にアクセスできるようにシングルトンにするのがいいのではないかと思いました。

これを少し変更して、目的のシングルトンクラスを作成できると思います。 シングルトンクラスのiPhone

1つの問題は、インジケータービューを(サブビューとして)いくつかのビューに明らかに追加する必要があることです。
そして、インジケータービューをサブビューとして追加するためにどこからでもアクセスできるシングルトンのようなビューがあるかどうか疑問に思います。

ありがとうございました

4

3 に答える 3

1

シングルトンを使用できますが、UIView要素にシングルトンを使用しないことをお勧めします。

UIView要素はスーパービューを1つしか持つことができないため、どこでもsingleton.activityindicatorを使用する場合は、新しいビューに追加する前にスーパービューから削除する必要があるため、多くの簿記が必要になります。たとえば、他の場所に表示する場合は前のスーパービューから削除する必要があり、前のスーパービューに戻った場合(ユーザーがナビゲーションコントロールなどをクリックして)、今すぐ追加する必要があるかどうかを判断する必要があります。新しいスーパービューなど。

デザインの1つのUIView、つまり広告バナービューにシングルトンを使用しています。異なるナビゲーションコントローラーに同じ広告を表示するために、アプリ全体で1つの広告を保持したかったのです。しかし、それはお尻の大きな痛みでした。

1つ作成し、ビューに追加し、完了したら削除するだけです。私の意見ではもっと簡単です:)

于 2011-03-14T08:32:36.913 に答える
0

UIViewカスタムクラスにを追加してから、それに追加することができactivityIndicatorます。

于 2011-03-14T08:34:02.403 に答える
-1

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];
} 
于 2012-01-14T05:37:16.147 に答える