Попытка показать индикатор активности в пользовательской ячейке в iOS 7

У меня была пользовательская ячейка, определенная в файле xib, где я позже программно поместил UIActivityIndicatorView в контроллер представления. Это правильно работало для iOS 6 и более ранних версий, но я не вижу индикатор активности в iOS 7.

Я делаю так: сначала регистрирую nib в контроллере представления viewDidLoad

[self.tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:nil] forCellReuseIdentifier:@"customCell"];

Затем в cellForRowAtIndexPath: и если версия системы 7.0 или выше, я делаю:

        UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        activityIndicator.frame = CGRectMake(259, 21, activityIndicator.frame.size.width, activityIndicator.frame.size.height);
        [cell.contentView addSubview:activityIndicator];

Но, как я уже сказал, индикатор активности не показывается. Подпредставления в iOS7 должны быть добавлены в ячейку contentView, я что-то еще упустил?

Спасибо


person AppsDev    schedule 05.11.2013    source источник
comment
Возможно, представление xib поверх contentView. Вы уверены, что contentView — это xib_view?   -  person Thanh Vũ Trần    schedule 05.11.2013


Ответы (3)


Попробуйте с этим, измените цвет индикатора активности на чистый цвет перед анимацией.

[self.activityIndicator setBackgroundColor:[UIColor clearColor]];
[self.activityIndicator startAnimating];

Даже если это не работает, попробуйте снять галочку с Animating поведения в attributes inspector в IB

person wesley    schedule 05.11.2013

я полагаю, что вы создали ячейку с помощью построителя интерфейса, т.е. "Customcell" в вашем случае. но добавлен индикатор активности путем кодирования в «cellForRowAtIndexPath», что неверно. Попробуйте создать индикатор активности с помощью построителя интерфейса, который прост, и при необходимости скройте его в «cellForRowAtIndexPath».

person user2955592    schedule 05.11.2013

Вместо этого используйте [cell.contentView.view addSubview:activityIndicator].

person devdev101    schedule 05.11.2013