絵を描くアプリで線はundo,redoできるのですがimageviewがundo,redoできません。
スクロールビューの下にimageViewを配置してあります。
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var canvasView: UIImageView!
var saveImageArray = [UIImage]() //Undo/Redo用にUIImage保存用
// タップされた座標にflowerを追加する(buttonをクリックした時の処理)
let flower = UIImageView(image: UIImage(named: "flower"))
flower.center = (sender as AnyObject).location(in: self.view)
**canvasViewの拡大を可能にしたい為、addSubView(flower)にしたら簡単にタップ位置にimageの大きさで表示されかつ拡大出来たので良かったのですが、結果としてSubViewとcanvasViewでは格納場所が違うようで以降のundo処理が出来ない状態です。
描いた線,画像の拡大,縮小が出来てundo,redo処理が出来る様に考えています。
現在の記述で描いた線,画像の拡大,縮小は出来るのだが,画像のredo,undoが出来ないです。
(この処理の中には線の記述はないです)
canvasView.addSubview(flower)
//配列にcanvasView.imageを保存
currentDrawNumber += 1
saveImageArray.append(canvasView.image!)
//保存している直前のimageに置き換える (undoボタンをクリツクした時の処理)
@IBAction func pressUndoButton(_ sender: Any) {
if currentDrawNumber <= 0 {return}
self.canvasView.image = saveImageArray[currentDrawNumber - 1]
currentDrawNumber -= 1
}
この処理で画像を書き換えられるはずなのですが、上手くいきません。
教えて戴けませんか ?