en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

12.19.2011

呼叫 iOS 5 內建英英字典的方法

  

iOS 5 有著內建英英字典的功能,選取想要翻譯的英文字並按下「定義」,內建英英字典就會出現,你也可以透過 UIReferenceLibraryViewController 來呼叫此內建字典,其程式碼如下。(已使用 ARC 機制)

//從textField取得文字內容
NSString *text = textField.text;

//判斷內建字典內是否有此字彙
if ([UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:text] == YES) {
    //建立UIReferenceLibraryViewController
    UIReferenceLibraryViewController *reference = [[UIReferenceLibraryViewController alloc] initWithTerm:text];

    //設定切換View時的效果
    [reference setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];

    //顯示UIReferenceLibraryViewController
    [self presentModalViewController:reference animated:YES];

} else {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"系統查無此單字"
                                                    message:text
                                                   delegate:self
                                          cancelButtonTitle:@"確定"
                                          otherButtonTitles:nil];

    [alert show];
}

完成上述程式碼,程式就已經具備基本的英英字典查詢功能,若是想讓字典的操作介面變成中文(沒意外的話,操作介面應該是英文),請到專案下的 InfoPlist.strings 檔案,在它的 Localization 屬性下新增一個你想要的語系即可(Zh-Hans 代表簡體中文,Zh-Hant 代表繁體中文),若是在你的專案中找不到 InfoPlist.strings 檔案,可以手動為專案新增一個 Strings File 即可。


ps:下列是在實作此範例時,您可能會需要參考的文章連結。







沒有留言:

張貼留言