【发布时间】:2012-10-03 00:01:21
【问题描述】:
我有一个项目,我将选定的图像添加到 UIView。添加图像后,我可以移动、旋转和缩放该图像。但是假设我选择了错误的图像并且我想撤消。处理这样的事情的正确方法是什么?另外,假设我添加了多个但想从视图中清除所有这些,那么正确的方法是什么?
这是我目前正在尝试的:
-(IBAction)undoButtonTapped
{
self.stampedImageView.image = nil;
}
这将成功撤消上一个操作,但仅此而已。假设我添加了两个或更多图像。也许我想撤消一项或多项操作,但不是全部。这只会撤消最近的操作。
例子:
User adds three stamps
To undo 2 stamps: tap the undo button twice
To delete all stamps: tap the delete button once
我已经知道如何一键删除所有图章。见下文。
删除代码:
UIView * subview;
while ((subview = [[imageView subviews] lastObject]) != nil)
{
[subview removeFromSuperview];
}
【问题讨论】:
-
让我试着理解。首先,您打算如何撤消一个或多个操作?当用户点击 UNDO 按钮时,您是否会提示并询问他们希望撤消多少个 UNDO?另外,为什么不使用 removeFromSuperview 方法呢?
标签: ios cocoa-touch uiimageview uiimage undo