У меня есть странная проблема с TableViewController. В документе это говорит, что tableViewController имеет дело также с методом-flashScrollIndicators, когда таблица является уважением "увеличенного размера" видимая область.
Мое приложение состоит в 3 военно-морских контроллерах, загруженных в контроллере вкладки. Каждый военно-морской контроллер имеет как корневой контроллер представления подкласс контроллера табличного представления. Каждая "модель" заполняется из plist файла, который загружает его содержание в массив в-viewDIdLoad, позже все передается таблице. Все загружается программно никакой IB.
Я узнал в своем приложении, что, когда оно загружает первое представление (военно-морской контроллер с контроллером табличного представления как корень) полоса прокрутки не высвечивается, даже если количество ячейки это является достаточно большим. Если я выбираю другую вкладку, которая загружает другой военно-морской контроллер (с t.v.c. как корень), полосу прокрутки не показывают снова. Когда я нажимаю, вкладка, соответствующая первому военно-морскому контроллеру, загрузила вспышки полосы прокрутки.
Таким образом, я попытался заставить его высветиться программно, но никакой путь, код кажется простым:
[self.tableView flashScrollIndicators];
Я попытался поместить его почти везде. Сначала в-viewDidLoad (Как предложено в документе), затем в viewDidAppear и в-viewWillAppear. Также попробованный используют тот код Тринг для кастинга представления t.v.c. как табличное представление.
[((UITableView*)self.view) flashScrollIndicators];
.. без результата.
Я начал смотреть на образец Apple, и я нашел, что в табличном представлении Apple пользовательский образец (тот с различными временами) полоса прокрутки не высвечивается также там. Протестированный и на sim и на устройстве.
Ошибка?, есть ли корректный способ показать его программно? Кто-то может помочь мне? С уважением, Andrea
У меня была точно такая же проблема. В конце концов я обошел эту проблему, поместив отложенный селектор в метод viewDidAppear:
. Как ни странно, я могу установить его на 0 секунд, и он по-прежнему работает нормально.
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self performSelector:@selector(flashTableScrollIndicators) withObject:nil afterDelay:0.0];
}
- (void)flashTableScrollIndicators
{
[self.tableView flashScrollIndicators];
}