スペルチェックチュートリアル
3437 ワード
作者:Arthur Knopper,原文リンク,原文日付:2015-12-22訳者:鐘穎Cyan;校正:Cwift;原稿:CMB
原文の日付が早いため、文章コードは新しいバージョンに更新されました.
UItextCheckerオブジェクトは、文字列のスペルチェックに使用できます.このチュートリアルでは、Table Viewに単語を表示します.単語が選択されるとスペルチェックが行われ、スペルが正しい背景が緑になります.そうしないと赤になります.このチュートリアルはXcode 7.2およびiOS 9環境で行います.
Xcodeを開き、新しいSingle Viewアプリケーションを作成します.IOS 9 SpellingCheckerTutorialをプロジェクトの名前として使用し、あなたの習慣に従ってOrganization NameとOrganization Identifierを記入します.開発言語としてSwiftを選択し、DevicesがiPhoneのみであることを確認します.
StoryboardからViewControllerを削除し、Navigation Controllerを空のキャンバスにドラッグすると、初期ViewControllerが削除されるとプロジェクトのエントリは存在しません.Navigation Controlを選択してAttribute Inspectorを開き、View Controlという領域で「Is Initial View Control」をチェックします.
Table View ControlのNavigation Barをダブルクリックし、タイトルを「Choose the right spelling」に設定します.Table View Cellを選択してAttribute Inspectorを開き、Table View Cellという領域でIdentifiierを「cell」に設定します.
Storyboardは次のように見えます.
ViewControllerをStoryboardから削除するので、同時にViewControllerを削除することができる.swiftファイル.プロジェクトに新しいファイルを追加し、iOS->Source->Cocoa Touch Classを選択し、TableView Controlと名前を付けてUItableView Controlから継承します.
TableViewControllerを開きます.swiftファイルと次のメンバーの追加
この配列の文字列はTable Viewの上に表示されます.次に、定義済みのプロキシメソッドを変更します.
単語配列によってTable Viewが表示され、1つの領域があり、合計3行です.cellの背景色は、後でcellの背景色が変わるため、透明色に設定されています.ユーザがリストの1行を選択すると、プロキシメソッド
Table View Cellは、単語配列内の単語から初期化されます.単語のスペルが正しい場合、cellの背景色は緑になります.そうしないと赤になります.実際のスペルチェックのコードは
UItextCheckerクラスは、文字列のスペルが正しいかどうかを検出するために使用できます.検出範囲は単語全体です.
プロジェクトをコンパイルして実行し、リストの行を選択し、スペルが正しいと背景色が緑になり、そうでないと赤になります.
ioscreatorのGitHub倉庫でIOS 9 SpellingCheckerTutorialのソースコードを見つけることができます.
本文はSwiftGG翻訳グループから翻訳して、すでに作者の翻訳の授権を得て、最新の文章は訪問して下さいhttp://swift.gg.
原文の日付が早いため、文章コードは新しいバージョンに更新されました.
UItextCheckerオブジェクトは、文字列のスペルチェックに使用できます.このチュートリアルでは、Table Viewに単語を表示します.単語が選択されるとスペルチェックが行われ、スペルが正しい背景が緑になります.そうしないと赤になります.このチュートリアルはXcode 7.2およびiOS 9環境で行います.
Xcodeを開き、新しいSingle Viewアプリケーションを作成します.IOS 9 SpellingCheckerTutorialをプロジェクトの名前として使用し、あなたの習慣に従ってOrganization NameとOrganization Identifierを記入します.開発言語としてSwiftを選択し、DevicesがiPhoneのみであることを確認します.
StoryboardからViewControllerを削除し、Navigation Controllerを空のキャンバスにドラッグすると、初期ViewControllerが削除されるとプロジェクトのエントリは存在しません.Navigation Controlを選択してAttribute Inspectorを開き、View Controlという領域で「Is Initial View Control」をチェックします.
Table View ControlのNavigation Barをダブルクリックし、タイトルを「Choose the right spelling」に設定します.Table View Cellを選択してAttribute Inspectorを開き、Table View Cellという領域でIdentifiierを「cell」に設定します.
Storyboardは次のように見えます.
ViewControllerをStoryboardから削除するので、同時にViewControllerを削除することができる.swiftファイル.プロジェクトに新しいファイルを追加し、iOS->Source->Cocoa Touch Classを選択し、TableView Controlと名前を付けてUItableView Controlから継承します.
TableViewControllerを開きます.swiftファイルと次のメンバーの追加
let words = ["devalopment", "development","devellopment"]
この配列の文字列はTable Viewの上に表示されます.次に、定義済みのプロキシメソッドを変更します.
override func numberOfSections(in tableView: UITableView) -> Int {
return 1;
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return words.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
// cell...
cell.textLabel?.text = words[indexPath.row]
cell.textLabel?.backgroundColor = UIColor.clear
return cell
}
単語配列によってTable Viewが表示され、1つの領域があり、合計3行です.cellの背景色は、後でcellの背景色が変わるため、透明色に設定されています.ユーザがリストの1行を選択すると、プロキシメソッド
tableView(_:didSelectRowAt:)
が呼び出される.
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)!
if wordIsSpelledCorrect(word: (cell.textLabel?.text)!) {
cell.backgroundColor = UIColor.green
} else {
cell.backgroundColor = UIColor.red
}
tableView.reloadData()
}
Table View Cellは、単語配列内の単語から初期化されます.単語のスペルが正しい場合、cellの背景色は緑になります.そうしないと赤になります.実際のスペルチェックのコードは
wordIsSpelledCorrect
メソッドで実現されます.
func wordIsSpelledCorrect(word: String) -> Bool {
let checker = UITextChecker()
let range = NSMakeRange(0, word.characters.count)
let wordRange = checker.rangeOfMisspelledWord(in: word, range: range, startingAt: 0, wrap: false, language: "en")
return wordRange.location == NSNotFound
}
UItextCheckerクラスは、文字列のスペルが正しいかどうかを検出するために使用できます.検出範囲は単語全体です.
rangeOfMisspelledWordInString
メソッドは、スペルミスの範囲をチェックするために使用されます.単語のスペルが正しい場合、戻り範囲のlocation
はNSNotFound
になるので、戻り値はtrue
で、そうでなければfalse
になります.プロジェクトをコンパイルして実行し、リストの行を選択し、スペルが正しいと背景色が緑になり、そうでないと赤になります.
ioscreatorのGitHub倉庫でIOS 9 SpellingCheckerTutorialのソースコードを見つけることができます.
本文はSwiftGG翻訳グループから翻訳して、すでに作者の翻訳の授権を得て、最新の文章は訪問して下さいhttp://swift.gg.