iOS de Changer le titre du bouton annuler dans UISearchBar
Je souhaite changer le titre du bouton annuler dans iOS. J'ai été en utilisant ce précédemment:
- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
self.searchDisplayController.searchBar.showsCancelButton = YES;
UIButton *cancelButton = nil;
for (UIView *subView in self.searchDisplayController.searchBar.subviews) {
if ([subView isKindOfClass:NSClassFromString(@"UIButton")]) {
cancelButton = (UIButton*)subView;
}
}
[cancelButton setTitle:@"Annuller" forState:UIControlStateNormal];
}
Mais il n'a pas l'air de travailler dans iOS7. Toutes Les Suggestions?
mettre le
Si vous voulez juste pour localisée la valeur par défaut "Annuler" du titre pour le bouton annuler, je préfère changer la valeur de CFBundleDevelopmentRegion touche de fr pour votre région localisée dans l'Info.fichier plist dans le projet. Voir le détail de la réponse à partir d'ici: stackoverflow.com/a/37427398/1677041
[cancelButton setTitle:@"Annuller" forState:UIControlStateNormal];
à l'intérieur de la condition if. vérifiez également ce même question la Personnalisation bouton Annuler de UISearchBarSi vous voulez juste pour localisée la valeur par défaut "Annuler" du titre pour le bouton annuler, je préfère changer la valeur de CFBundleDevelopmentRegion touche de fr pour votre région localisée dans l'Info.fichier plist dans le projet. Voir le détail de la réponse à partir d'ici: stackoverflow.com/a/37427398/1677041
OriginalL'auteur Danienllxxox | 2013-09-23
Vous devez vous connecter pour publier un commentaire.
simplement faire ce code:-
Pas tester dans iOS7, mais cela fonctionne très bien dans iOS6 espère que ce travail pour vous.
DE SORTIE EST:-
Ne fonctionne pas sous iOS 7. Il a essayé.
avez-vous vérifier avec Point de Rupture
searchBarTextDidBeginEditing
est de l'appeler ou pas? vérifiez bien que vous donnera le délégué de vous SeachBar? @RameezHussain Parce que l'OP-dire de travailler dans iOS7[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar classe], nil] setTitle:@"YourNewTextHere"], il suffit pour cela d'iOS 7
Je ne pense vraiment pas qu'une boucle dans tous les sous-points de vue (d'une vue privée de la hiérarchie) dans l'espoir de trouver le point de vue que nous voulons (et l'espoir est de la classe que nous voulons) peuvent être modifiés, ce type de solution pourrait fonctionner pour le moment, mais si jamais Apple changements de leur point de vue de la hiérarchie (ce qui est plus que possible), puis vous serez à gauche avec une fracture de l'app.
OriginalL'auteur Nitin Gohel
Vous avez besoin de chercher le bouton de manière récursive. Ce doit être un fail-safe façon de le faire:
J'ai testé cela sur iOS 7, mais il fonctionne et devrait le faire pour iOS 6.
Je le ferais si je le pouvais, mais je n'ai pas posé de question, je voulais juste faire savoir aux autres, que votre code fonctionne 🙂
Cela ne fonctionnera pas si l'utilisateur est en cours d'exécution iOS dans une langue autre que l'anglais.
J'ai supposé que l'application est uniquement localisée à l'anglais. Si c'est le cas, la langue de l'appareil n'affectera pas la langue du bouton annuler, et que ce code fonctionne très bien. Si vous devez gérer les applications localisées laissez-moi savoir, je vais mettre à jour la réponse 🙂
Cette méthode fonctionne dans iOS7.1, cependant, vous devez ajouter: [self.barre de recherche setShowsCancelButton:OUI] dans votre méthode viewDidLoad. Cette méthode peut être un hack, mais le UIAppearance méthode semble se bloquer iOS 7.0.x (bien que cette méthode fonctionne également dans iOS 7.1.x)
OriginalL'auteur Guy Kogus
voici ma solution pour les deux ios6 & ios7
Comme pour mon commentaire de Nitin Gohel...
est-ce de travailler pour iOS 8?
OriginalL'auteur nahung89
afin de le faire fonctionner sur iOS7, vous avez à la recherche dans la sous-vue de la barre de recherche:
Comme pour mon commentaire de Nitin Gohel...
OriginalL'auteur Michał Zygar
Cela fonctionne bien.
Et appeler la méthode
Voici la sortie
OriginalL'auteur Rajan Maheshwari
[[UIButton appearanceWhenContainedIn:[UISearchBar classe], nil] setTitle:@"Votre Titre" forState:UIControlStateNormal];
UIButton.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).setTitle("Your Title", forState: .Normal)
OriginalL'auteur Hiren Panchal
@Nitin Gohel Comme?
Cela fonctionne parfaitement. Peut-être, la mauvaise chose est que je vois que le TextColor du Bouton annuler en cours de modification. J'ai essayé de présenter une nouvelle proposition [cancelButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; , il ne fonctionne pas, aussi je vois qu'il prend la couleur de la Barre de Recherche BarTint plutôt que la barre de recherche de la Teinte de la couleur.
OriginalL'auteur Danienllxxox
Il semble que "l'autonomie.searchDisplayController.barre de recherche.les sous-vues" juste retour de la "barre de recherche". J'ai essayé ci-dessous, et ça marche!!!
OriginalL'auteur waterfox0323
Avant la recherche a commencé, dans UISearchBarDelagate ou UISearchDisplayControllerDelegate faire:
OriginalL'auteur iiFreeman
Si vous voulez juste changer le "Annuler" le texte à la même dans vos paramètres régionaux, de la bonne façon, je pense, à l'aide de la localisation. Voici comment:
en.lproj
répertoire(pas sûr que ce soit nécessaire) modifier votre
Info.plist
et ajouter ces lignes:Localization native development region
: votre région (par exemple:en
)Localizations
: par exempleEnglish
Remarque: il ne fonctionne pas dans le Simulateur, de le tester sur l'appareil!
(Source: http://www.ibabbleon.com/iphone_app_localization.html)
OriginalL'auteur gklka
Pour iOS7, cela fonctionne.
OriginalL'auteur jeremytripp
Reportez-vous à @Salih à la solution ci-dessus, j'ai utilisé ce code et travail parfait! Il suffit d'appeler la méthode setupAppearance dans AppDelegate.m lors de l'application de lancement.
OriginalL'auteur Itachi
Carillon avec le code que j'ai utilisé à l'intérieur de la
UIKitUISearchResultsUpdating
mode de protocole deupdateSearchResults(for searchController: UISearchController)
:(iOS 10, Swift 3.0)
OriginalL'auteur Code Roadie