###やりたいこと
textViewにおいてボタンをタップしたらカーソルの左の文字を1字選択することです。
###参照した英文サイト
リンク内容
###やったこと
ボタンをタップしたら全選択をするのは自己解決できました。
コードは下記のとおりです。
@IBAction func sentaku01(_ sender: Any) { InputView.selectAll(nil) InputView.selectAll(self) func textViewDidBeginEditing(InputView: UITextView) { DispatchQueue.main.async { InputView.selectAll(nil) print("ここまで来た14") } } }
###試したこと
上記の英文サイトを参照して下記のコードを書きましたがエラーが
でて行き詰まりました。
//←選択を押した時⇒左側を選択する @IBAction func sentaku02(_ sender: Any) { // only if there is a currently selected range if let selectedRange = InputView.selectedTextRange { // and only if the new position is valid if let newPosition = InputView.positionFromPosition(selectedRange.start, inDirection: UITextLayoutDirection.Left, offset: 1) { //set the newPosition InputView.selectedTextRange = InputView.textRangeFromPosition(newPosition, toPosition: newPosition) } }
###エラー
Value of type 'UITextView' has no member 'positionFromPosition'
###エラーのでた場所
ジ説明](a6296d2c09011f484df6d53dfed3d292.png)
###ご参考事項
- 環境は下記のとおりです。
MacBook Pro (15-inch, 2016)
High Sierra OS10.13
Version 9.1 (9B55)Swift4にバージョンアップしました。
- 下記のように定義しています。
@IBOutlet weak var InputView: UITextView!
@IBOutlet weak var Sentaku02: UIButton!
- 画面は下記のとおりです。最初はキーボードはでておらず画面をタップして文字記入後削除ボタンを押して文字を消したいと思っております。
- 下記の機能は成功しています
カーソルを最初に移動
カーソルを文字末尾に移動
カーソルを左に1字移動
カーソルを右に1字移動
カーソルの左の文字を削除
カーソルの右文字を削除
全文字選択
- 関連のteratail質問項目は下記のとおりです。
- このアプリの目的は年寄りのための音声入力補助アプリです。
音声入力は文字の修正が沢山発生しますが、年寄りは画面をタップして
選択、削除、コピーペーストなどが苦手です。指が乾いたり震えるからです。
そこでボタンの操作でそれを行おうとゆうものです。
以上よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/16 12:08
2017/11/16 12:15
2017/11/16 12:16
2017/11/16 12:23
2017/11/16 13:05
2017/11/16 13:13
2017/11/16 13:15
2017/11/16 13:17
2017/11/16 13:19
2017/11/16 13:20
2017/11/16 13:22
2017/11/16 13:23
2017/11/16 13:31
2017/11/16 13:31
2017/11/19 05:59
2017/11/19 06:35 編集
2017/12/22 06:21