iPhone: Скройте панель поиска UITableView по умолчанию

Если предположить, что temp_dir будет удалено, однострочная команда, использующая os, будет выглядеть следующим образом:

_ = [os.remove(os.path.join(save_dir,i)) for i in os.listdir(temp_dir)]

Примечание. Это всего лишь 1 строка для удаления файлов «Не удаляет каталоги.

Надеюсь, это поможет. Спасибо.

85
задан TheNeil 27 May 2019 в 15:07
поделиться

2 ответа

Сначала убедитесь, что вы добавили UISearchBar в tableHeaderView UITableView, чтобы он прокручивался вместе с содержимым таблицы. и не прикреплен к верхней части представления.

Панель поиска не считается строкой в ​​табличном представлении, поэтому, если вы прокрутите верхнюю часть табличного представления до первой строки, она «скрывает» панель поиска:

[yourTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];

или в Swift:

yourTableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)

Убедитесь, что вы не прокручиваете табличное представление до того, как оно содержит данные ( scrollToRowAtIndexPath вызовет исключение, если данный indexPath не указывает на допустимую строку (т.е. если табличное представление пусто )).

115
ответ дан 24 November 2019 в 08:11
поделиться

Я обнаружил, что приложение "Заметки" не может выполнять поиск элементы, когда tableView пуст. Поэтому я думаю, что он просто использует - (void) addSubview: (UIView *) view , чтобы сначала добавить пустую таблицу. Когда вы добавляете элемент в свой массив источника данных, он запускает еще один фрагмент кода для загрузки tableView.

Итак, мое решение:

if([self.arrayList count] > 0)
{
     [self.tableView reloadData];     //use jdandrea's code to scroll view when cell==nil in cellForRowAtIndexPath
     self.tableView.scrollEnabled = YES;
}
else
{
     tableBlank = [[UITableView alloc]initWithFrame:CGRectMake(0,0,320,416) style:UITableViewStylePlain] autorelease];
     tableBlank.delegate = self;
     tableBlank.dataSource = self;
     [self.view addSubview:tableBlank];
}

Надеюсь, это поможет: -)

1
ответ дан 24 November 2019 в 08:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: