5

У меня есть рабочее приложение для iOS7 и ниже
Я использовал UISearchDisplayController для поиска в таблице.
Заголовок не отображается после поиска iOS8 + XCode6

Проблема:
После вид заголовка поиска не отображается в iOS8.
как показано на картинке ниже.

До поиска: enter image description here

После поиска: enter image description here


Я попытался с помощью UISearchController, но и имеют те же проблемы я использовал этот код link

добавляю ниже кода в T PSMastreViewController.m

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *v = [[UIView alloc] init]; 
    v.backgroundColor = [UIColor greenColor]; 
    return v; 
} 


Я проверил этот делегат - (UIView *) Tableview: (UITableView *) Tableview
viewForHeaderInSection: (NSInteger) раздел
не вызывается в случае iOS8.
Редактировать:
Я понимаю, что только UITableViewDataSource делегирован, UITableViewDelegate этого не сделал.
Пожалуйста, не то, что я установил как делегат в ViewDidLoad
Вопрос:
1] Является ли это изменение пользовательского интерфейса?
2] У каждого есть патч, чтобы метод делегата вызывал принудительно.

ответ

5

Я нашел ответ так пишет здесь может помочь другому лицу того же проблемы

просто нужно добавить делегатый heightForHeaderInSection и покажет вид заголовка для обоих searchResultsController для UISearchController (iOS8) и searchResultsTableView для UISearchDisplayController (iOS7)

Добавьте нижеприведенный код в TPSMastreViewController.m, и это решит проблему.

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return 20; 
} 

Я нашел мой ответ, прочитав этот вопрос :)
in iOS 8 UITableView heightForHeaderInSection is not optional

+0

Если высота заголовка всегда 20, то вместо реализации методы делегирования просто установить sectionHeaderHeight свойства UITableView. Если вы сказали 1000 разделов, то быстрее, чтобы таблица умножала высоту на 1000, чтобы получить общую высоту по сравнению с вызовом вашего метода делегата 1000 раз. – SomeGuy

+0

Спасибо за предложение, но моя проблема в том, что метод делегата viewForHeaderInSection не вызвал, после поиска и после реализации этого viewForHeaderInSection его вызвал. – Jageen

+0

попробуйте это, он также будет работать (и работать лучше) [self.tableView setSectionHeaderHeight: 20]; – SomeGuy

 Смежные вопросы

  • Нет связанных вопросов^_^