我正在使用UIActivityIndicatorView向用户显示正在发生的事情,让他们等待。但是UIActivityIndicatorView看起来很小,没有背景颜色,对用户来说也不是很明显。在iPhone SDK的UIImagePickerController中,它使用类似的机制,但黑色背景以及指示符旁边的一些文本。
我想知道是否有任何现有组件来执行该任务,或者我必须实现自己的类来执行该任务。
非常欢迎任何建议,谢谢。
答案 0 :(得分:13)
如果你只想要UIActivityIndictatorView的不同背景颜色,你可以将setBackgroundColor消息发送给对象,即:
[activityIndicator setBackgroundColor:[UIColor blackColor]];
顺便说一下,您也可以更改指标的大小。只需使用更大的rect执行setFrame或initWithFrame。记住UIActivityIndicatorView继承自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)
似乎我仍然需要创建一个单独的视图,因为如果我放大框架,指示器将自动放大。
感谢。