2008-11-12 3 views
4

Я использую UIActivityIndicatorView, чтобы показать пользователю, что что-то происходит, пусть они ждут. Но UIActivityIndicatorView выглядит небольшим, не имеет цвета фона и не очень понятен пользователю. Хотя в UIImagePickerController iPhone SDK он использует аналогичный механизм, но с черным фоном, а также с некоторым текстом, кроме индикатора.Цвет фона для UIActivityIndicatorView

Мне интересно, есть ли какой-либо существующий компонент для выполнения этой задачи, или я должен реализовать свой собственный класс для выполнения этой задачи.

Любое предложение приветствуется, заранее.

ответ

13

Если вы просто хотите другой цвет фона UIActivityIndictatorView, вы можете просто отправить сообщение setBackgroundColor к объекту, то есть:

[activityIndicator setBackgroundColor:[UIColor blackColor]]; 

Кстати, вы можете изменить размер индикатора, а также , просто сделайте setFrame или initWithFrame с большим прямоугольником. Помните, что UIActivityIndicatorView наследует UIView, поэтому вы получаете всю настройку UIView.

2

Кажется, мне еще нужно создать отдельный вид, потому что индикатор будет автоматически увеличен, если я увеличу рамку.

Спасибо.

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]; 
Смежные вопросы