私は追加しようとしています元に戻す そしてやり直す
UITextView
の実装の機能
。私は
attributedText
を使用しています単に
text
ではありません
UITextView
のプロパティ
。
undoManager
で関数呼び出しを使用してみましたに引用されているようにAppleのドキュメント、しかし何も起きていないようです。グーグルでこのテーマについて何も見つけられなかったことに驚いた。
UITextView
で元に戻すとやり直しを実装する前にこの問題に遭遇した人はいますか?
attributedText
と/これについてどうやって行くのか知っていますか?
サンプルコード
textView.attributedText = NSMutableAttributedString(string: "SOME TEXT")
@objc func undo(_ sender: UIButton) {
textView.undoManager?.undo()
}
@objc func redo(_ sender: UIButton) {
textView.undoManager?.redo()
}
回答 2 件
これはOPの問題の解決策ではありませんが、原油 代替
UITextFieldデリゲートコールバック
textViewDidFinishEditing(textField: UITextField)
と組み合わせてスタックデータ構造を実装することでこれを取得できると思う前に、これを処理していません。 。ユーザーがテキストフィールドに変更を加えるたびに、現在の属性付き文字列をスタックに配置するという考え方です。の元に戻す この機能は、ボタンをスタックに接続し、最新の属性付き文字列をポップオフし、それに応じてtextfields属性付き文字列プロパティを設定することで機能します。
UITextView
の元に戻す/やり直しを処理するサンプルコードを次に示します。 。元に戻す/やり直しボタンの状態を、テキストを変更するたびに更新することを忘れないでください。明らかに、アクション/アウトレットとテキストビューのデリゲートアウトレットをストーリーボードに接続する必要があります