添付画像AからBの状態へ，プログラム制御でもっていくにはどうしたらよいでしょうか。  
言い換えると，UITextViewにおいて(画像ではHTMLのフォームですが…)，markedTextRange内にある未確定な入力中の文字列を消し，且つ，キーボードの予測変換もクリアしたいのですが，なかなか情報が見つかりませんでした。  
TextViewへのフォーカスは外れず，カーソル位置もそのままで入力を続けることができると有難いです。

画像には載せていませんが，自身で実装したサジェストリストが画面に表示され，そのセルがタップされたとき，本来のOS付属のキーボードの変換候補一覧はすでに不要なのでクリアしたいのです。  
わかりづらい説明で申し訳有りませんが，APIなどをご存知の方は教えていただけると助かります。  
[![画像の説明をここに入力](https://i.stack.imgur.com/RHyAp.png)](https://i.stack.imgur.com/RHyAp.png)
CC BY-SA 3.0
2016-02-24T16:29:55.370
22491
2016-10-29T03:07:01.597
question
ios objective-c
iOS Objective-Cにおいて，UITextViewに入力しているテキストの変換作業をキャンセルさせたい。
まず、File's ownerの @interface 部に

```

    @interface クラス名 <UITextFieldDelegate> {
        IBOUtlet UITextField *wantsToCancelable;
    }
    
```

等として、編集をキャンセルしたいテキストフィールドのアウトレットを作成し、アウトレットを接続して内容にアクセス出来るようにします。  
後は、@implementationに、

```

    - (void) awakeFromNib
    
```

内で

```

    [wantsToCancelable setDelegate:self];
    
```

とするか、UITextFileldのDelegateプロパティ（左クリックで出てくる黒い窓）のDelegateをFile's Ownerにします。

最後に

```

    - (void) textFieldDidBeginEditing:(UITextField *)textField
    - (void) textFieldDidEndEditing:(UITextField *)textField
    
```

を実装して、その内部で編集中の文字列をチェックすれば良いと思います。  
内容の取り出しと設定（キャンセル）は

```

    [wantsToCancelable stringValue];
    [wantsToCancelable setStringValue:newString];
    
```

で、行います。空白に戻すにはnewStringに@""を渡して下さい。
CC BY-SA 3.0
2016-03-12T07:04:28.757
23047
2016-03-12T07:04:28.757
14745
22491
answer