accessoryType случайно исчезает в строках - PullRequest
0 голосов
/ 31 мая 2011

Goodmorning SO,

я получил эту проблему вот уже целую неделю и очень странно.

я получил таблицу, заполненную виртуальными машинами, которую я могу включить / выключить / перезагрузить и т. Д.... и каждая строка имеет UITableViewCellAccessoryDetailDisclosureButton, когда я отправляю действие на виртуальную машину, я проверяю каждые 3 секунды, было ли действие успешно выполнено, пока ожидание заменяет UITableViewCellAccessoryDetailDisclosureButton на индикатор активности. Когда действие выполняется, строкачто виртуальная машина должна обновиться, это прекрасно работает.но проблема в том, что иногда .. действительно иногда UITableViewCellAccessoryDetailDisclosureButton не возвращается, когда виртуальная машина завершена, и больше нет accessoryType для строки. Это просто случайная строка, в которую я посылаю действие ... скажем,я получил 5 строк.

X*    
X*
X*
X*
X*

(X = row, * = UITableViewCellAccessoryDetailDisclosureButton) и включаю все из них, тогда это происходит

X 
X
X*
X*
X

, затем в случайных местахкнопка UITableViewCellAccessoryDetailDisclosureB исчезает и не возвращается, пока я не открою весь UIView.

Почему это так?Вот некоторый код.

[activityView stopAnimating];
[timer invalidate];
NSArray *indexPathArray = [NSArray arrayWithObject:TheindexPath(This is the indexpath of the row where an action should be done.)];
[TheTableWithMachines reloadRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationFade];
[activityView release];

в

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Я даже проверяю, есть ли в ячейке кнопка или нет, если нет ... добавьте ее

if(cell.accessoryType != UITableViewCellAccessoryDetailDisclosureButton)
        {
            cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
        }

Я наконец-то исправил это после того, как много осмотрел!

Индикатор активности представлял собой AccesoryView, а UITableViewCellAccessoryDetailDisclosureButton был AccesoryType для ячейки, которую мне просто нужно было установить для этого [cell setAccessoryView: nil];в конце кода

Но я до сих пор не знаю, почему UITableViewCellAccessoryDetailDisclosureButton иногда исчезал.

и теперь он работает.

1 Ответ

0 голосов
/ 31 мая 2011

Взгляните на hidesWhenStopped свойство UIActivityIndicatorView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...