Перекрытие -searchResultsTableView
не будет работать, потому что UISearchDisplayController
обращается непосредственно к переменной экземпляра таблицы, не вызывая метод.
Назначенный инициализатор для UISearchDisplayController
представляется приватным методом, -initWithSearchBar:contentsController:searchResultsTableViewStyle:
, который устанавливает переменную экземпляра _searchResultsTableViewStyle
. Эта переменная экземпляра используется при создании представления таблицы результатов поиска. Публичный инициализатор вызывает этот метод, минуя UITableViewStylePlain
.
прямого вызова частной назначенный инициализатору или установив переменную экземпляра, скорее всего, получит приложение отвергнут из App Store, так что вы могли бы вместо того, чтобы попробовать перекрывая общественное инициализатору и вызов
[self setValue:[NSNumber numberWithInt:UITableViewStyleGrouped]
forKey:@"searchResultsTableViewStyle"];
Это отличная идея и действительно упростило использование поиска бар в моем приложении. Благодаря! – Luke