从设置视图 iOS 返回时启动不同的 UIViewController

Posted

技术标签:

【中文标题】从设置视图 iOS 返回时启动不同的 UIViewController【英文标题】:Launch different UIViewController when go back from settings view iOS 【发布时间】:2012-11-22 10:22:52 【问题描述】:

请帮助我了解我刚接触 ios 的概念。

我正在开发一个有 2 个主要故事/观点的应用程序。

当应用程序启动时,它会检查 NSUserDefaults,如果是: NSIntegerwitchView = [prefs integerForKey:@"setView"]; 设置为 1 我使用 view1 启动应用程序。

然后从 view1 我可以转到设置,并且有一个用于设置女巫视图的切换按钮将加载到 stat 上。这很完美......如果我将 view2 设置为在启动时开始,它就可以工作。

View2也有设置按钮,同样可以进入settingsView。

我想要做的是当从设置返回时自动启动不同的视图,如果在选项的视图中设置的话。

如果我需要,现在我必须重新启动应用程序。

我有 AppDelegate 类女巫启动 View1 或 View2。 从 View1 和 View2 我可以转到 SettingsView。

我必须将 SettingsView 与 AppDelegate 连接起来吗?每次按下设置按钮时,总是关闭 view1 或 view2 并从 AppDelegate 启动 SettingsView 并在返回时再次启动相应的?

最好的方法是什么?

谢谢,马杰

【问题讨论】:

【参考方案1】:

不清楚您使用的是 NavigatioController 还是 ModalDialog ,无论如何它似乎都不适合您的场景。 因为如果用户更改了设置并且他想回去,你不能保证他会回到同一个 viewController。因此,当您使用 UINavigationController 时,这意味着如果有人按下 backButton,您希望使用相同的 viewController。

我认为您可能应该使用一些动画来导航。

试试这个:

[UIView transitionWithView:containerView

       duration:0.2

       options:UIViewAnimationOptionTransitionFlipFromLeft

       animations:^ [fromView removeFromSuperview]; [containerView addSubview:toView]; 

       completion:NULL];

【讨论】:

我使用 ViewControllers。问题可能在于我对加载和关闭视图的理解。我有 3 个 ViewControllers 和 Nib 文件。当应用程序启动时首先进入 AppDelegate 并从这里开始一个场景。视图 1 或视图 2。假设它使用 ViewController1 启动 View1,从该 View 中我们可以转到设置加载视图(View1 或 View2)和其他选项的设置。如果我们将不同的视图设置为加载,我希望在返回时加载该视图。不是上一个。谢谢,Matej 如果用户更改设置然后返回,在他返回后,您可以制作一些动画以从 view1 更改为 view 2,如我上面所写。但是对于您的情况,使用 ModalDialg 可能会更好,因为 ios 用户希望在返回时看到以前的屏幕。因此,使用模态对话框,您将拥有取消和保存按钮,并且您可以在关闭模态对话框之前使用保存按钮在视图之间切换。 啊哈,现在我明白你的意思了。谢谢你。我会试试的。

以上是关于从设置视图 iOS 返回时启动不同的 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

IOS:UIView 永远可见

取消手势识别器后以编程方式启动 hitTest:WithEvent 并返回不同的 UIView 以响应事件

IOS-- UIView中的坐标转换

从 iOS 中的 UIView 子视图重新加载时 UITableView 未重新加载

iOS UIView中的坐标转换

iOS UIView中的坐标转换