come faccio a cambiare l'etichetta "Nessun risultato", quando si utilizza un searchDisplayController?searchDisplayController: cambia l'etichetta "Nessun risultato"
saluti
come faccio a cambiare l'etichetta "Nessun risultato", quando si utilizza un searchDisplayController?searchDisplayController: cambia l'etichetta "Nessun risultato"
saluti
Non è direttamente accessibile, quindi dovrete farlo alla vecchia maniera e vagliare manualmente attraverso i subviews del vostro searchDisplayController.searchResultsTableView
. Ecco un esempio:
UITableView *tableView = self.searchDisplayController.searchResultsTableView;
for(UIView *subview in tableView.subviews) {
if([subview class] == [UILabel class]) {
UILabel *lbl = (UILabel*)subview; // sv changed to subview.
lbl.text = @"My custom string";
}
}
io non consiglierei questo dato vi affidate ai comportamenti interna del searchResultsTableView
che è più che probabile che a cambiare ad un certo punto, rompendo la vostra applicazione. Aprire una richiesta di bug/funzionalità con Apple sarebbe un buon modo per andare qui.
Ho rimosso con successo l'etichetta non avendo mai un set di risultati vuoto.
Se non ci sono risultati perché vengono recuperati dal server, reimpostare l'origine dati su una singola riga e visualizzarne una cella vuota.
Inoltre, usa la logica per refeuse per selezionare la cella "fittizio":
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *listItem = [self.filteredListContent objectAtIndex:indexPath.row];
if ([listItem isEqualToString:@""]) {
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
}
ho anche trovato necessario aggiungere la logica delle cellule "fittizio" nel metodo willSelect
delegato:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *listItem = [self.filteredListContent objectAtIndex:indexPath.row];
if ([listItem isEqualToString:@""]) {
return nil;
}
return indexPath;
}
Cool, grazie mille ... – Stefan
Ma quando si fa il tweaking? Questo 'UILabel' si apre nelle' sottoview' solo dopo che è stato effettivamente visualizzato ... –
Sì, dove inseriamo questo codice ??? – Napolux