我正在使用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];
}
我希望这不会太混乱,如果我需要详细说明,请告诉我。 谢谢和最好的问候。
答案 0 :(得分:2)
解决方案是避免使用您的视图来跟踪应用程序状态。如果“情况”因用户操作或由于外部因素(如传感器读数,时间流逝,收到的数据等)而发生变化,您的应用应该跟踪并相应地更新视图。如果你能做到这一点,那么视图是否保持其状态并不重要 - 你应该在它们即将显示时将它们更新为当前应用状态(-viewWillAppear
)。
答案 1 :(得分:0)
如果您使用UINavigationController
和推送其他视图,则父视图不应更改。这是解决此特定问题的标准方法。
另一种方法是使用某种状态数据模型保持按钮的状态,并确保在视图出现在屏幕上之前正确设置状态。