2012-04-06 6 views
5

Ich versuche, eine benutzerdefinierte Kopfzeile zu UITableView, die einige Tasten und eine UISearchBar hat. Das Problem ist, dass wenn ich versuche, SearchBar zu verwenden ich eine Nachricht erhalten:Hinzufügen von UISearchBar in die TabelleView-Header als Unteransicht

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

Hat jemand ein solches Problem begegnen?

Antwort

-1

fügen Sie an den Tisch über:

[self.tableView addSubview:customView] 

Wenn ja, dass Ihr Fehler sein könnte. Das Hinzufügen von Unteransichten zu UITableView erfordert, dass Sie sie entweder als Kopfzeile, Fußzeile oder Zelle explizit hinzufügen. Versuchen:

self.tableView.tableHeaderView = customView 
+0

Nicht wahr. Sie können einer UITableView in jeder gewünschten Art und Weise eine Unteransicht hinzufügen, genau wie jede andere UIView. – Anthony

-1

Gerade die einfachen Schritte, die hier folgen ..

  1. eine Eigenschaft für mySearchBar erstellen in Ihrem '.h' Datei und synthetisieren.
  2. legen Sie seine Attribute in viewDidLoad/viewDidAppear Methode (oder u kann es in der Interface Builder einfach tun)
  3. die folgende Delegatmethode Verwenden Sie es als den Kopf Ihrer Tabellenansicht zu setzen ...

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

@Bartek möchte einen benutzerdefinierten Header, der eine Suchleiste und keine Suchleiste enthält. – Anthony

+0

@Anthony: Wenn Sie nur die Suchleiste und nichts anderes in der Header-Ansicht wollen, sollte dies gut funktionieren. Bitte versuchen Sie es und lassen Sie es mich wissen, wenn es nicht funktioniert. – Nishant

+0

Das OP will nicht nur eine Suchleiste, er/sie will auch Tasten. Ihre Lösung ist falsch für die gestellte Frage. – Anthony