元に戻す操作をやり直すために、次のコードを使用しました。私はラベルの背景色を変更しています。私の元に戻す/やり直し操作はうまくいきましたが、ラベルのテキストカラーを追加しました。バックグラウンドカラーまたはテキストカラーを個別に変更すると、個別にうまく動作します。それは正しく動作しません。私は何をすべきか?助けてください。!私の問題が解決され、このコードを使用して再実行を元に戻す操作
@IBOutlet var myObject: UILabel!
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
myObject.backgroundColor = UIColor.yellow
}
func setMyObjectColor(_ color: UIColor) {
(undoManager?.prepare(withInvocationTarget: self) as AnyObject).setMyObjectColor(myObject.backgroundColor!)
myObject.backgroundColor = color
}
func setMyObjectTextColor(_ color: UIColor) {
(undoManager?.prepare(withInvocationTarget: self) as AnyObject).setMyObjectTextColor(myObject.textColor!)
myObject.textColor = color
}
@IBAction func changeColor(_ sender: Any){
setMyObjectColor(UIColor.blue)
}
@IBAction func changeTextColor(_ sender: Any){
setMyObjectTextColor(UIColor.white)
}
@IBAction func undo(_ sender: Any) {
undoManager?.undo()
}
@IBAction func redo(_ sender: Any) {
undoManager?.redo()
}}
テキストを設定するためのコードで質問を更新してください(元に戻す/やり直しの部分について心配する必要はありません)。 – rmaddy
@rmaddyクリックに基づいてテキストを追加するためのボタンを1つ付けました。必要な機能を管理しましたが、一度テキストが追加されました。どのように元に戻すかやり直すことができますか? –
参照しているテキストが表示されない場合は、誰も助けてくれることはありません。元に戻す/やり直すテキストの変更に関するコードを関連コードで更新してください。テキスト関連のコードを表示すると、元に戻す/やり直しの機能を助けることができます。 – rmaddy