2012-04-06 2 views
5

Sto tentando di aggiungere un'intestazione personalizzata a UITableView, che ha alcuni pulsanti e uno UISearchBar. Il problema è che quando cerco di usare Searchbar ricevo un messaggio:Aggiunta di UISearchBar nell'intestazione tableView come subview

setting the first responder view of the table but we don't know its type (cell/header/footer)

Qualcuno ha incontrato tale problema?

risposta

-1

State aggiungendo alla tabella tramite:

[self.tableView addSubview:customView] 

Se è così, che potrebbe essere il vostro errore. L'aggiunta di subviews a UITableView richiede di aggiungerli esplicitamente come intestazione, piè di pagina o cella. Prova:

self.tableView.tableHeaderView = customView 
+0

Non vero. Puoi aggiungere una sottoview a un UITableView in qualsiasi modo desideri, proprio come qualsiasi altro UIView. – Anthony

-1

Basta seguire i semplici passi qui ..

  1. creare una proprietà per mySearchBar nel file di vostro '.h' e sintetizzare.
  2. impostare gli attributi nella metodo viewDidLoad/viewDidAppear (o u può semplicemente farlo in Interface Builder)
  3. utilizzare il seguente metodo delegato per impostarlo come l'intestazione della vista tabella ...

    – (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {     
         return self.mySearchBar; 
    } 
    
+0

@Bartek vuole un'intestazione personalizzata che include una barra di ricerca, non una barra di ricerca di per sé. – Anthony

+0

@Anthony: se vuoi solo la barra di ricerca e nient'altro nella vista dell'intestazione, allora dovrebbe funzionare bene. Per favore prova questo e fammi sapere se non funziona. – Nishant

+0

L'OP non vuole solo una barra di ricerca, vuole anche i pulsanti. La tua soluzione è sbagliata per la domanda posta. – Anthony