0

NSUndoManager を使用するのはこれが初めてで、どこに配置すればよいか、何が欠けているのかわかりません。描画ボタンと元に戻すボタンを備えたマップ ビューを持つアプリケーションを作成しています。描画ボタンを使用して、ユーザーがポリラインを描画できるようにし、指が画面から離れるたびに、描画したばかりの線に別の線を接続します。元に戻すボタンで、最後に描いた線を削除したい.

私がこれまでに持っているもののいくつか...

- (void)viewDidLoad
{
[super viewDidLoad];
...
...
undoManager = [[NSUndoManager alloc]init];
}

- (IBAction)oopsButton:(id)sender {

[undoManager undo];

}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
....
....
[[undoManager prepareWithInvocationTarget:self]touchesEnded:(touches) withEvent:event];
[undoManager setActionName:NSLocalizedString(@"Route Changed", @"route undo")];
}

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay

...
...

現在、元に戻すをクリックすると、1 行が元に戻されますが、それだけです。ユーザーがクリックする回数だけ元に戻す必要があります。これについて助けてくれてありがとう、私はグーグルとスタック全体を見てきましたが、まだ役立つものは見つかりませんでした.

4

1 に答える 1