UIActivityIndi​​catorView的背景颜色

时间:2008-11-12 04:23:51

标签: iphone cocoa-touch

我正在使用UIActivityIndi​​catorView向用户显示正在发生的事情,让他们等待。但是UIActivityIndi​​catorView看起来很小,没有背景颜色,对用户来说也不是很明显。在iPhone SDK的UIImagePickerController中,它使用类似的机制,但黑色背景以及指示符旁边的一些文本。

我想知道是否有任何现有组件来执行该任务,或者我必须实现自己的类来执行该任务。

非常欢迎任何建议,谢谢。

3 个答案:

答案 0 :(得分:13)

如果你只想要UIActivityIndi​​ctatorView的不同背景颜色,你可以将setBackgroundColor消息发送给对象,即:

[activityIndicator setBackgroundColor:[UIColor blackColor]];

顺便说一下,您也可以更改指标的大小。只需使用更大的rect执行setFrame或initWithFrame。记住UIActivityIndi​​catorView继承自UIView,因此您可以获得UIView的所有自定义。

答案 1 :(得分:5)

试试这个简单的方法,它对我有用....

UIActivityIndicatorView *activityIndicator= [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
activityIndicator.layer.cornerRadius = 05;
activityIndicator.opaque = NO;
activityIndicator.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.6f];
activityIndicator.center = self.view.center;
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
[activityIndicator setColor:[UIColor colorWithRed:0.6 green:0.8 blue:1.0 alpha:1.0]];
[self.view addSubview: activityIndicator];

加载视图时添加以下行

//-- Add this line while processing to load your view
    [activityIndicator startAnimating];

//-- Add this line when after you view loaded
    [activityIndicator stopAnimating];

答案 2 :(得分:2)

似乎我仍然需要创建一个单独的视图,因为如果我放大框架,指示器将自动放大。

感谢。