2010-08-13 142 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