2010-09-03 6 views
0

J'ai un contrôleur de vue (nommé SearchViewController) avec UITableView et UISearchBar. UISearchBar est défini sur la table en tant que voir en-tête. Alors que la recherche dans la table en utilisant cette barre de recherche fonctionne très bien. En sélectionnant l'un des résultats de recherche affichés, je peux passer à la vue suivante (nommée DetailsViewController). Mais après avoir retourné au SearchViewController, par magie le UISearchBar a disparu et mon application est plantée. J'ai trouvé le même code fonctionne correctement sur iOS 3.1.2 mais pas sur iOS 4.0 (aucune idée sur 4.0.1 ou 4.0.2).UISearchaBar disparaît de UITableView

Je serai vraiment reconnaissant, si quelqu'un a un travail pour cela.

+0

Trouvé ceci est un bug dans iPhone SDK 4.0. Pour éviter ce problème, dans "viewDidDisappear" de mon SearchViewController j'ai ajouté cette ligne, myTbView.tableHeaderView = mySerachBar; C'est le problème résolu. – prathumca

Répondre

0

J'utilise toujours un UINavigationBar et un UINavigationItem pour afficher le UISearchBar. Définir le navigationItem.titleView à searchBar fonctionne bien pour moi. (N'oubliez pas d'appeler le [theSearchBar sizeToFit])

Veuillez nous donner plus d'informations sur l'accident. Quelle est la sortie de la console?

+0

Félix, merci pour votre réponse rapide. En fonction de mes exigences, je ne peux pas utiliser SearchBar avec le contrôleur de navigation. Eh bien, il semble un bug dans l'iPhone SDK 4.0. Le rapport d'erreur indique toujours qu'il y a un problème dans UIKit (ne pas se souvenir du problème), pas lié à mes classes d'affichage. Je prévois d'utiliser UISearchDisplayController au lieu de UISearchBar. – prathumca