关于IOS编程,如何在不重置的情况下切换回视图?

时间:2013-07-27 10:10:08

标签: ios uiviewcontroller

我正在使用xCode编程,我的一个Nib / Xib文件中有一些隐藏和显示的按钮,具体取决于具体情况。它还有按钮,可以将它带到不同的Nib / Xib文件。关于我应该使用哪些代码来确保在第一个Nib / Xib文件中隐藏/显示的按钮如果我切换到新的Nib / Xib文件并再次返回时的任何提示?

到目前为止我的编码方式(我非常初学者),每次进入它时都会重新加载一个视图并重置为初始状态。

我目前使用的代码基本如下:

- (IBAction)backToHomeView:(id)sender {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
self.window.rootViewController = self.homeViewController;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

}

我希望这不会太混乱,如果我需要详细说明,请告诉我。 谢谢和最好的问候。

2 个答案:

答案 0 :(得分:2)

解决方案是避免使用您的视图来跟踪应用程序状态。如果“情况”因用户操作或由于外部因素(如传感器读数,时间流逝,收到的数据等)而发生变化,您的应用应该跟踪并相应地更新视图。如果你能做到这一点,那么视图是否保持其状态并不重要 - 你应该在它们即将显示时将它们更新为当前应用状态(-viewWillAppear)。

答案 1 :(得分:0)

如果您使用UINavigationController推送其他视图,则父视图不应更改。这是解决此特定问题的标准方法。

另一种方法是使用某种状态数据模型保持按钮的状态,并确保在视图出现在屏幕上之前正确设置状态。