1

我正在尝试将我的自定义活动指示器添加到我的应用程序中。

由于我想在很多地方显示指标,
我认为将其设为单例以轻松访问它可能是个好主意。

我想我可以稍微修改一下以制作所需的单例类。 单例类 iPhone

一个问题是我显然需要将指标视图添加到某个视图(作为子视图)。
并且想知道是否有一个类似单例的视图,我可以从任何地方访问以将指示器视图添加为子视图。

谢谢

4

3 回答 3

1

您可以使用单例,但我建议您不要将单例用于 UIView 元素。

UIView 元素只能有一个 superview,所以如果你在任何地方都使用 singleton.activityindicator,你必须在将它添加到新视图之前将其从 superview 中删除,因此需要大量记账。例如,当您在其他地方显示它时,您必须从上一个超级视图中删除它,当您返回到上一个超级视图(通过用户单击一些导航控件或其他东西)时,您必须确定是否需要现在将其添加回新的superview等

在我的设计中,我确实将单例用于一个 UIView,即广告横幅视图。我想在整个应用程序中保留一个广告,以便在不同的导航控制器中拥有相同的广告。然而,它是在屁股很大的痛苦。

只需创建一个,添加到视图中,完成后删除..在我看来更简单:)

于 2011-03-14T08:32:36.913 回答
0

您可以尝试将 a 添加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 回答