我是 iOS 开发新手。我有一个非常简单的 UIViewController,在 View 中有两个按钮。我允许用户编辑 UI 组件或从一个地方拖放到另一个地方。现在我想实现重置功能,允许用户将 UI 重置到其原始阶段并放弃所有更改。
正如在几篇尝试过 setNeedsDisplay 的帖子中提到的,但看起来它不是实现此目的的正确方法。我有哪些选择?
例如在 Android 世界中,您可以完成当前 Activity(相当于 UIViewController)并重新启动自身以达到原始状态。在 iOS 中是否可以做类似的事情。
- (IBAction)resetButtonClicked:(id)sender {
// Now I want discard all the changes on the screen
// On some button click or specific action from user.
// Tried calling setNeedsDisplay as pointed in few others answers but somehow
// setNeedsDisplay does not reload my ViewController.
// [self.view setNeedsDisplay];
}
最佳答案
我也做过类似的事情。我所做的是:
1) 为每个帧 ui 控件创建本地 CGRect 变量,即 CGRect originalFrame1;
2) 获取每个 ui 控件的原始框架位置并将它们存储在 viewDidLoad 上,即 originalFrame1 = _frame1.frame;
3) 在 resetButtonClicked 上将其设置回原始位置 _frame1.frame = originalFrame1;
关于ios - 如何将 UIViewController 的 Root View 重置或重新启动到其原始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374339/