2010-08-13 90 views
2

的iOS4的本地化的UISearchBar我已经测试我的应用程序3.1.3当设备语言设置为德语它显示的UISearchBar取消按钮本地化为德语。在iOS4上显示为“取消”。有什么具体的我需要在iOS4做触发取消按钮显示为本地化的字符串?取消按钮

+2

在info.plist中设置“本地化本土发展区”为德国解决这个问题。 – alisdairmills 2010-10-29 10:38:39

+1

保重,它似乎不能在模拟器中工作。在设备上进行测试。 – nverinaud 2011-11-17 10:18:51

回答

4

更改取消按钮标题:

for (UIView *subview in [searchBar subviews]) { 
    if ([NSStringFromClass([subview class]) isEqualToString:@"UINavigationButton"]){ 
     // http://github.com/kennytm/iphone-private-frameworks/blob/master/UIKit/UINavigationButton.h 
     [subview performSelector:@selector(setTitle:) withObject:@"newTitle"]; 
    } 
} 

您还可以找到取消按钮寻找与尺寸48,30的元素。使用CGRect bounds = [subview bounds]; CGSize size = bounds.size;

+0

如果您想避免将类名称作为字符串进行比较,我正在编写一个更一般的方法(SDK更新后可能会更健壮)。伟大的职位,得不偿失了票:) 为(UIView的*在[搜索栏子视图]子视图) { 如果([子视图类] isSubclassOfClass:[UIButton的类]) [子视图performSelector:@选择(的setTitle: )withObject:[[[[LocaleManager sharedLocaleManager] languageDictionary] valueForKey:@“General”] valueForKey:@“cancelButtonTitle”]]; } – banDedo 2011-10-19 00:39:02