Я пишу приложение iOS7 в Xcode 5 с раскадными версиями. В части приложения мне нужны три экрана, в которых используется один и тот же класс viewController
. Эти экраны: UIViewControllers
. Я использую UISegmentControl
для перехода от экрана к экрану на основе условий. Я отключил управление, если пользователь не выполнил определенные шаги.Использование одного экземпляра класса viewController в Storyboard
Я использовал чек BOOL
значения, если были завершены определенные шаги, и установите его значение в YES/NO.
Проблемы в том, когда я хочу, чтобы вернуться к предыдущему экрану - я получаю новый экземпляр моего класса ViewController , Это две проблемы:
- памяти растет каждый раз, когда пользователь переходит между двумя видами
- значение BOOL и все другие свойства равны нулю, когда новый экземпляр нагрузки.
В моем контроле сегмента это, как я получаю мнение:
-(void)segmentcontrol:(UISegmentedControl *)segment
{
if (segment.selectedSegmentIndex == 0)
{
self.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"stepOne"];
[self presentViewController:self.viewController animated:NO completion:nil];
}
else if (segment.selectedSegmentIndex == 1){
self.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"stepTwo"];
[self presentViewController:self.viewController animated:NO completion:nil];
}else {
}
}
Это viewController
подкласс моего BaseViewController
- который я использовал для элементов пользовательского интерфейса, который является постоянным на все экраны.
Что я хочу сделать, это вернуть тот же экземпляр класса viewController
, когда я изменил элемент управления сегмента на другой вид, используя тот же класс.
Возможно ли это?
'UITabBarController' содержит все необходимые свойства, вы можете использовать его без' UITabBar' и использовать switchControl для переключения между ними. Проверьте [здесь] (http://stackoverflow.com/questions/11544005/uitabbarcontroller-without-a-uitabbar) для справки. – Martol1ni