Я уже некоторое время работаю над переключением UIViews и пробую базовый переключатель UIView без использования UINavigationController. Я посмотрел на UINavigationControllers, но я так долго боролся с нижеприведенным, что хочу изучить его полностью.
Моя проектная организация:
MainViewController.h/.m -> viewDidLoad: This method runs a NSTimer to update self.view with a few bits and bobs.
ConfigView.h/.m: -> viewDidLoad: nothing - just an idle view.
MainViewController.xib -> Main window NIB
ConfigView.xib -> ConfigView NIB
У меня есть следующий метод в MainViewController.m, выполняемый для события нажатия UIButton:
- (IBAction)switchToConfigView:(id)sender {
if(self.configViewController == nil) {
ConfigView *cv = [[ConfigView alloc] initWithNibName:@"ConfigView" bundle:nil];
self.configViewController = cv;
[cv release];
}
[self.view addSubview:configViewController.view];
}
Теперь, когда я переключаюсь на ConfigView, представление действительно отображается, но кажется, что viewDidLoad: from MainViewController все еще выполняется, в результате чего оба представления эффективно объединяются. Из кода я вижу, что это, очевидно, имеет место, поскольку сам фактический переключатель представления выполняется в контексте MainViewController, и, как вы можете видеть, просто подпредставление.
Мой вопрос заключается в том, как аккуратно убрать / приостановить все действия внутри MainViewController при переключении представления путем простого добавления к нему другого подпредставления? Я предполагаю, что это невозможно, или, скорее, это трудоемкая работа, где лучше применить какую-то другую методологию. Я подозреваю, что мне нужно реализовать фактическое переключение из ConfigView.h / .m, но я могу ошибаться.
Любой свет, который ты можешь пролить на вышесказанное, будет великим.
спасибо
швейцарский сыр.